回复:S7-1200的程序结构和指令的特点

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    308

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

发布于 2011-05-04 11:19:12

71楼

S7-1200的程序结构和指令的特点
1.先进的程序结构
S7-200只有主程序、子程序和中断程序。子程序只有输入、输出参数和临时变量,相当于S7-300的功能(FC)。子程序没有专用的存储区,子程序执行结束后,不再保存临时变量中的数据。可以用全局变量来保存那些在子程序执行结束后需要保存的数据,但是会影响到它的可移植性。
S7-1200的程序结构基本上与S7-300/400相同。用户程序由组织块、功能块和功能组成。功能块是用户编写的有自己专用的存储区(即背景数据块)的程序块,功能块的输入、输出参数和静态变量存放在指定的背景数据块中,临时变量存储在局部数据堆栈中。每次调用功能块时,都要指定一个背景数据块。功能块执行完后,背景数据块中的数据不会丢失,但是不会保存局部数据堆栈中的数据。子程序执行结束后需要保存的数据可以使用静态变量。这样在功能块的内部可以全部使用局部变量,这样的块具有很好的可移植性。
功能块采用了类似于C++的封装的概念,将程序和数据封装在一起。
2.数据类型和编程语言
S7-1200采用IEC 61131-3的数据类型,与S7-200相比,增加了短整数、无符号短整数、无符号整数、无符号整数、长整数、数组和结构。与S7-300相比,只能使用一位数组。
S7-1200只有梯形图和功能块图语言,没有语句表语言。TIA Portal V11增加了SCL语言。
3.指令系统
S7-1200的指令系统设计得简单合理,功能强大。有的指令(例如数据转换指令)可以设置一个或两个操作数的数据类型,一条指令相当于S7-200/300/400的多条指令。
S7-200的置位、复位指令被4条指令代替,可以对单独的位或多点置位复位,使用比较方便。有6条边沿检测指令,可以分别检测单个地址的上升沿,还可以检测RLO(能流)的上升沿,用检测线圈上面的地址输出脉冲或直接输出脉冲。
S7-1200采用IEC标准的定时器和计数器指令,它们实际上是功能块,在调用时需要指定背景数据块。为了减少背景数据块的个数,可以采用多重背景。即在功能块中调用定时器、计数器指令,在功能块的界面区定义数据类型为IEC_Timer或IEC_Counter的静态变量,用这些静态变量来提供定时器和计数器的背景数据。这种功能块的背景数据块被称为多重背景数据块。
这样多个定时器或计数器的背景数据被包含在它们所在的功能块的背景数据块中,而不需要为每个定时器或计数器设置一个单独的背景数据块。因此减少了处理数据的时间,能更合理地利用存储空间。
只能以多重背景方式调用STEP 7 Basic提供的库中包含的功能块,不能以多重背景方式调用用户创建的功能块。
比较指令采用触点的方式,形象直观紧凑,数据类型和比较符号均可设置。
比较指令、数据转换指令、移位与循环移位指令、数学运算指令等可以使用的数据类型比S7-300/400更多,功能更强。
高速脉冲输出和高速计数功能与S7-200的基本上相同,其参数设置采用组态的方法,与S7-200的指令向导相比更为直观方便。
可以使用指令FieldRead (通过索引变量从数组中读取数值) 和FieldWrite (通过索引变量向数组中写数值)来实现间接寻址。为此需要生成全局数据块和数组。
PID指令的参数设置和调试方便直观,有参数自整定功能,可控制16个回路。配一块AO信号板,就可以实现PID闭环控制。PID参数自整定功能很好用。



管理员注:本帖已被纳入此次探讨发帖整理,请点此详阅
追求完美
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15228条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。