1、Bachmann PLC IEC61131 编程指导IEC61131-3编程标准化介绍(Bachmann PLC编程语言介绍)一, IEC61131-3编程语言的分类常用的PLC编程语言分为:IL(语句表),LD(梯形图),FBD(功能图),SFC(顺控图),CFC(改进的功能图),ST(类似于C语言,可以用记事本文件打开)。二, 各种语言的功能使用列举1, IL语句表(没有实用价值,略)2, LD梯形图 (1),实现逻辑运算与 运算(当a1,a2全部为TRUE时候,b1为TRUE。)或 运算(当a1,a2有一个为TRUE时候,b1为TRUE。)非 运算(a1= =TRUE,a2= =FALS
2、E,b1为TRUE)以上运算也可以用:AND,OR,来实现,如:RS,SR运算(有优先级的,RS为复位优先;SR置位优先)如:(a1= =TRUE,a2= =FALSE,b1为TRUE) (a1= =TRUE,a2= =TRUE,b1为FALSE)如:(a1= =TRUE,a2= =FALSE,b1为TRUE) (a1= =TRUE,a2= =TRUE,b1为TRUE)(2)实现算术运算其他常用的数学运算还有:EXP,EXPT,SIN,COS,TAN,ASIN,ACOS,ATAN。还有常用的MOVE。(3)脉冲运算F_TRIG,R_TRIG分别产生一个下降沿,上升沿;(4)计数器与定时器000
3、1的含义是在程序上电时候,将a2置位为TRUE(第一个扫描周期,上电初始化程序可以参考该模式);当a2= =TRUE将其复位(第2及以后的扫描周期)。0002的含义是:每3s钟t1导通一次(导通的次数由c1的设定来决定的),同时c1的次数当前数减少一次。0003的含义是:t1导通一次以后,关断t1。0004的含义是:导通次数达到设定数据以后,b2导通,同时关断t1。TON:通电延时。TOF:断电延时。TP:产生一段时间脉冲,与R_TRIG相似(但TP有时间规定,R_TRIG为一个扫描周期)。(5),比较运算EQ(等于),NE(不等于),GT(大于),LT(小于),GE(大于,等于),LE(小于
4、,等于)。当a1= =TRUE,b100(BOOL类型)=TRUE。其他与其操作等同的。(6),移位操作SHL,SHR,ROL,ROR如:AAAAAA为:BYTE类型,16#10执行SHL,变成16#20。SHR类似。ROL,ROR为带循环移位的。如:使用不多,可以不看(一般在顺控程序作为执行阶段标志,如:将AAAAAA初始化为:0X01,当1表示在第一步,2表示在第二步,在第8步,有循环到第1步)。(7),数据转换运算定时器一般以ms为单位的,可以通过TIME_TO_INT,TIME_TO_REAL同时也可以:INT_TO_TIME,INT_TO_REAL.(8),可以自己根据需要定制需要的
5、函数.主程序调用部分(由于使用的是梯形图,必须先定义en,eno作为其程序使用的入口与出口,en:定义为input,bool.eno定义为output,bool).(9),字符串运算:主要针对于通讯的运算校验与分割,由于我们采用的CAN通信总线,内部已经做好了MODBUS CRC校验,本部分可以省略.3,FBD功能图不建议使用,其操作和LAD十分相识,但是在调用函数(如:自定义的函数无法实现,只能是子程序才能使用)很不方便.4,CFC同FBD基本一致.5,ST语言.由于PLC内部的SMC_PLC工具没有提供模块的EN与ENO接口,在LAD调用时,很不方便,最好使用ST.(1),ST实现逻辑与数
6、据运算列举.主程序调用方法如下:(2), ST常见的流程控制运算方法.选择运算一般采用IF ELSE IF ELSE END_IF.如:主程序调用as2的方法.循环运算的方法: FOR循环(知道循环次数时使用). WHILE循环(不知道循环次数时,使用)使用技巧:由于BOOL数据,INT数据在初始化的时候,一般是FALSE与0,但是不能保证绝对是该数据,为了保证程序引用SIGN_AS3作为初始化标志位,在主程序初始化的时候,将其设置为FALSE(与as3的程序相对应). (3),常用的函数在ST语言中调用 TimerT1; /函数声明. 类型为TON.T1.IN T1.PT是属性设置. Cou
7、nter RS ARRAY使用说明(4),如何实现在ST语言下面的函数调用注:在ST语言中,如果想要实现函数的相互调用,最好在Program下实现.下面是在主程序(用LAD编写),调用US2(设置us1的子程序,用ST编写),us1是执行函数(可以被 主程序 和 US2调用).注:us1的是PRG函数类型的.如果在LAD想调用该程序,必须要有BOOL输入与输出量,并且在合适的位置.该函数的含义是:当输入BOOL为TRUE时,求平均数.编写US2函数,其为PRG类型.调用us1函数,并且设置其INPUT的属性,调用OUTPUT方法.由于,要在LAD中调用US2的方法,所以,必须要有BOOL类型的INPUT与OUTPUT(EN与ENO).0002中,调用US2(US2包括对us1的属性设置).0003中,调用us1(us1的属性在PLC_PRG中设置).
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1