浅析西门子PLC编程
2020-10-21吴守宇
吴守宇
摘 要:随着制造业的发展,设备自动化程度越来越高,自动化生产越来越被大家所青睐,应用越来越广,自动化设备的优点是依靠编程控制,实现工艺的自动化生产,本文主要介绍西门子PLC编程技术,帮助从业人员快速掌握PLC编程。
关键词:STEP 7编程语言 ;数据类型;寻址方式
0 前言
早期的PLC是用来替代继电器、接触器控制的。它主要用于顺序控制,只能实现逻辑运算。因此,被称为可编程逻辑控制器(Programmable logic controller,略写 PLC )
随着电子技术、计算机技术的迅速发展,可编程控制器的功能已远远超出了顺序控制的范围。被称为可编程控制器(Programmable controller,略写PC)。为区别于Personal Computer (PC),故沿用PLC 这个略写。
1 STEP 7编程语言
1.1 STL(语句表)
由STL(语句表)是一种类似于计算机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语句表可供习惯汇编语言的用户使用,在运行时间和要求的存储空间方面最优。在设计通信、数学运算等高级应用程序时建议使用语句表。
1.2 LAD(梯形图)
LAD(梯形图)是一种图形语言,比较形象直观,容易掌握,用得最多,堪称用户第一编程语言。梯形图与继电器控制电路图的表达方式极为相似,适合于熟悉继电器控制电路的用户使用,特别适用于数字量逻辑控制。
1.3 GRAPH(顺序控制)
GRAPH类似于解决问题的流程图,适用于顺序控制的编程。利用S7-GRAPH编程语言,可以清楚快速地组织和编写S7 PLC系统的顺序控制程序。它根据功能将控制任务分解为若干步,其顺序用图形方式显示出来并且可形成图形和文本方式的文件。
1.4 SCL(结构化控制语言)
S7-SCL(Structured Control Language:结构控制语言)是一种类似于PASCAL的高级文本编辑语言,用于S7-300/400和C7的编程,可以简化数学计算、数据管理和组织工作。S7-SCL具有PLC公开的基本标准认证,符合IEC 1131-3 (结构化文本)标准。
2 数据类型
2.1 基本数据类型
2.2复杂数据类型
2.2.1数组(ARRAY)
数组是由一组同一类型的数据组合在一起而形成的复杂数据类型。数组的维数最大可以到6维;数组中的元素可以是基本数据类型或者复杂数据类型中的任一数据类型(Array类型除外,即数组类型不可以嵌套);数组中每一维的下标取值范围是-32768~32767,要求下标的下限必须小于下标的上限。
2.2.2结构(STRUCT)
结构是由一组不同类型(结构的元素可以是基本的或复杂的数据类型)的数据组合在一起而形成的复杂数据类型。
2.2.3字符串(STRING)
字符串是最多有254个字符(CHAR)的一维数组,最大长度为256个字节(其中前两个字节用来存储字符串的长度信息)。字符串常量用单引号括起来。
2.2.4日期和时间(DATE_AND_TIME)
用于存储年、月、日、时、分、秒、毫秒和星期,占用8个字节,用BCD格式保存。星期天的代码为1,1~6的代码为2~7。
2.2.5用户定义的数据类型(UDT)
用户定义数据类型表示自定义的结构,存放在UDT块中(UDT1~UDT65535),在另一个数据类型中作为一个数据类型“模板”。当输入数据块时,如果需要输入几个相同的结构,利用UDT可以节省输入时间。
2.2.6功能块类型(FB、SFB)
这种数据类型仅可以在FB的静态变量区定义,用于实现多背景DB。
3 寻址方式
所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。
3.1立即寻址
立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指令中,或以惟一形式隐含在指令中。其中“//”后面的内容为指令的注释部分,对指令没有任何影响。
3.2存储器直接寻址
存储器直接寻址,简称直接寻址。该寻址方式在指令中直接给出操作数的存储单元地址。存储单元地址可用符号地址(如SB1、KM等)或绝对地址(如I0.0、Q4.1等)。
3.3存储器间接寻址
存储器间接寻址,简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中需写在方括号“[]”内。地址指针可以是字或双字,对于地址范围小于65535的存储器可以用字指针;对于其他存储器则要使用双字指针。
3.4寄存器间接寻址
寄存器间接寻址,简称寄存器寻址。该寻址方式在指令中通过地址寄存器和偏移量间接获取操作数,其中的地址寄存器及偏移量必须写在方括号“[]”内。在S7-300中有两个地址寄存器AR1和AR2,用地址寄存器的内容加上偏移量形成地址指针,并指向操作数所在的存储器单元。地址寄存器的地址指针有两种格式,其长度均为双字,指针格式如圖所示。
第一种地址指针格式适用于在确定的存储区内寻址,即
区内寄存器间接寻址。
第二种地址指针格式适用于区域间寄存器间接寻址。
第一种地址指针格式包括被寻址数据所在存储单元地址的字节编号和位编号,至于对哪个存储区寻址,则必须在指令中明确给出。这种格式适用于在确定的存储区内寻址,即区内寄存器间接寻址。
第二种地址指针格式包含了数据所在存储区的说明位(存储区域标识位),可通过改变标识位实现跨区域寻址,区域标识由位26~24确定。这种指针格式适用于区域间寄存器间接寻址。
4 总结
西门子PLC编程时需要注意事项:
a)选用自己最熟悉的编程语言
b)数据类型填写要和实际对应,避免出错
c)寻址时注意寻址方式书写格式
d)尽量采用结构化编程或模块化编程
参考文献
[1]张凤珊,电气控制及可编程控制器,中国轻工业出版社
[2]马志溪,电气工程设计,机械工业出版社
[3] IEC61131标准中的1-4部分