电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

SCL语言编程的技巧VIP免费

SCL语言编程的技巧_第1页
1/6
SCL语言编程的技巧_第2页
2/6
SCL语言编程的技巧_第3页
3/6
在西门子PLC 中使用SCL 语言编程的技巧 前言:两年半前我就在工控网上发表了有关SCL 编程的知识#lt;#lt;在S7300400 型PLC 中使用高级语言编程#gt;#gt;,但发表完后,即使我自己都从没有把任何使用SCL 编写的程序用到实际控制中,当时的感觉是使用SCL 编程到处受限,没有STL 语言灵活和强大。直到最近使用施耐德的Unity 软件编程,并使用这种已经国际标准化的文本语言(等同于西门子的SCL 语言),才体会到它的优点:#lt;1#gt;、程序容易阅读,便于诊断和维护;#lt;2#gt;、程序容易在不同厂家之间的PLC 之间转换。西门子的STL 语言是强大,但难于阅读,编写程序也需要异常小心,其最强大的可能是它的寄存器寻址(类似于一些计算机高级语言中的地址指针),SCL 没有这个功能,那就多费一些程序代码来实现同样的功能,程序是否优秀更应该看重程序的架构和提高程序生产效率的标准化,好的PLC 程序不应该只有自己明白,而是让更多的人明白。 在西门子PLC中使用SCL 语言的场合一般是编写标准功能块 FB,其编程方式和西门子的其他编程语言,如梯形图 Lad、语句表STL 是完全不同的,同时为了实现程序的国际标准化,即为了方便的将程序代码移植到不同厂家的PLC 系统上,尽量不要在SCL 中使用西门子独有的功能块。 1、 在FB 块中使用结构 编写FB 块的准则,就是其使用的内部变量尽量与外部隔离,除了像 PLC 的新启动/重启动标志,以及一些方波/脉冲波等全局变量可以在FB 块中使用外,其他的任何全局变量都不应该在FB 内部使用,即使是自定义结构也应该在FB 中单独定义,在FB 块中使用结构应该在静态类型变量中定义, 如下: VAR // Static Variables IM:STRUCT //Data structure of Internal Flags H1_AFCountImp:BOOL:=False; // Aux Flag Counter Impulse H1_CountImp:BOOL:=False; // Counter Impulse H1_ELCountMV:BOOL:=False; // Endless Counter Maximum Value END_STRUCT; //other data structure … END_VAR 在使用这些结构时,可以按照如下方式: IM. H1_CountImp:=Imp; 2、 在SCL 中替代 Set/Reset 指令的方法 SCL 中不存在Set/Reset 指令,或者说也没有必要使用。在SCL 中,不使用排他条件 Else 的条件语句就是一个Set/Reset 指令。 如下编程: IF THEN Variable name:=1; END_IF; 其等同于: (S) 若加上 Else 条件,如下: IF THEN Variable na...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

SCL语言编程的技巧

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部