《在S7300400型PLC中使用高级语言编程》.docVIP

《在S7300400型PLC中使用高级语言编程》.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在S7300/400型PLC中使用高级语言编程 S7-SCL是一种类似于Pasical、Deliphi的高级编程语言,其符合国际标准IEC 61131-3,也就是说支持该标准的任意厂家的PLC均可以使用与之相似的语言编程。这种语言适合于处理复杂的逻辑和大量的数学运算,由于其具有高级语言的编程结构,因此和S7的STL语句表编程方式比较起来有着更加方便的控制方式,可以这样说,只要是必须使用语句表的地方,我们均可以考虑使用SCL,也许STL在执行时比SCL更加高效,但事实上也不一定,首先SCL可以编译成STL,同时SCL设计时可以优化编程,而STL若运用不当,可能还会将低效率。当然在目前的这种系列的PLC上,效率对于我们来说已是次要的,我们更关心的是编程结构。就像在PC机上,舍弃了汇编语言,而主要采用C/C++等高级语言。总体来说,SCL适合于编写标准功能块,由于在维护中,它和STL一样,不象Lad一样利于维护,因此这些标准功能块都应该有文档说明,以便用户了解其功能。   下面的内容主要是参考西门子的S7-SCL文档,对SCL进行了系统的介绍,最后给出了示例。   这里假设读者是学过S7-300/400编程,并曾经学过至少一种计算机高级编程语言。 一、 软件的使用 1、 创建一个新的S7-SCL Source 文件 打开工程项目à选择CPU站à选择S7 Programà选择Sources 在右边窗口的空白处点右键选Insert New Objectà点击SCL Source 双击创建的SCL Source文件,进入SCL编辑界面。 矚慫润厲钐瘗睞枥庑赖賃軔朧碍鳝。 2、 块保护 在SCL Source文件的开头添加关键字:KNOW_HOW_PROTECT,当打开由其创建的块时,只能显示参数,而看不到内容。 聞創沟燴鐺險爱氇谴净祸測樅锯鳗。 3、主菜单”Insert”下的”Block Template”可用于插入如OB,FB等各种块的结构。”Control Structure”菜单可插入各种流程控制结构,这些都可以简化编程。 残骛楼諍锩瀨濟溆塹籟婭骒東戇鳖。 4、在运行程序之前,首先必须对它进行编译,可以编译整个Source文件或者某个被选择的块,通过选择菜单File Compile Selected Blocks。也可以把几个Source文件一起进行编译,其方法是创建一个S7-SCL compilation control file.在该文件中依次输入需要编译的SCL Source文件名,然后执行编译即可。 酽锕极額閉镇桧猪訣锥顧荭钯詢鳕。 二、语法规则 1、编写SCL Source文件的一般规则 ● FB, FC, OB, DB以及用户定义的UDT,它们使用的任意数字号均可以在SCL Source中编辑。 ● 每种块类型都有它自己的结构。 ● 每段落或者每个变量的声明以符号”;”标志结束。 ● 不区分大小写。 ● 注释仅存在于程序文档中,它不影响程序运行。 ● 当一个功能块被调用时,其背景数据块被自动创建,因此它们不需要被编辑。 ● DB0有特定用途,因此在程序中不能创建DB0. 彈贸摄尔霁毙攬砖卤庑诒尔肤亿鳔。 2、 编写块的先后次序 ● 被调用的块必须位于调用块之前。 ● UDT的定义必须位于其被使用的位置之前。 ● 共享数据块必须位于那些使用它的所有块之前。 謀荞抟箧飆鐸怼类蒋薔點鉍杂篓鳐。 三、 数据类型 1、数据类型预览 Ⅰ、基本数据类型 2、补充 1、DATE_AND_TIME Data Type 其值的范围:DT#1990-01-01-0:0:0.0---------DT#2089-12-31-23:59:59.999 该类型以BCD码形式存储。 厦礴恳蹒骈時盡继價骚卺癩龔长鳏。 例如20/Oct./1995 12:20:30 and 10 milliseconds显示如下: DATE_AND_TIME#1995-10-20-12:20:30.10 DT#1995-10-20-12:20:30.10 茕桢广鳓鯡选块网羈泪镀齐鈞摟鳎。 2STRING e.g. 声明 VAR Text1 : String [123]; //该字符串的最大容量为123个字符 Text2 : String; //该字符串的默认容量为254个字符 END_VAR 鹅娅尽損鹌惨歷茏鴛賴縈诘聾諦鳍。 初始化:x : STRING[7]:=Address; //在使用STRING前,必须对它赋值。 FUNCTION Test : STRING[45] VAR_TEMP x : STRING[45]; END_VAR x := a; x := concat (in1 := x, in2 := x); Test := x; //

文档评论(0)

tangdequan1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档