Bachmann PLC IEC61131 编程指导.docx

上传人:b****9 文档编号:23361526 上传时间:2023-05-16 格式:DOCX 页数:18 大小:301.22KB
下载 相关 举报
Bachmann PLC IEC61131 编程指导.docx_第1页
第1页 / 共18页
Bachmann PLC IEC61131 编程指导.docx_第2页
第2页 / 共18页
Bachmann PLC IEC61131 编程指导.docx_第3页
第3页 / 共18页
Bachmann PLC IEC61131 编程指导.docx_第4页
第4页 / 共18页
Bachmann PLC IEC61131 编程指导.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Bachmann PLC IEC61131 编程指导.docx

《Bachmann PLC IEC61131 编程指导.docx》由会员分享,可在线阅读,更多相关《Bachmann PLC IEC61131 编程指导.docx(18页珍藏版)》请在冰豆网上搜索。

Bachmann PLC IEC61131 编程指导.docx

BachmannPLCIEC61131编程指导

IEC61131-3编程标准化介绍

(BachmannPLC编程语言介绍)

一,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==FALSE,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)计数器与定时器

0001的含义是在程序上电时候,将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(小于,等于)。

当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),可以自己根据需要定制需要的函数.

主程序调用部分(由于使用的是梯形图,必须先定义en,eno作为其程序使用的入口与出口,en:

定义为input,bool.eno定义为output,bool).

(9),字符串运算:

主要针对于通讯的运算校验与分割,由于我们采用的CAN通信总线,内部已经做好了MODBUSCRC校验,本部分可以省略.

3,FBD功能图

不建议使用,其操作和LAD十分相识,但是在调用函数(如:

自定义的函数无法实现,只能是子程序才能使用)很不方便.

4,CFC同FBD基本一致.

5,ST语言.

由于PLC内部的SMC_PLC工具没有提供模块的EN与ENO接口,在LAD调用时,很不方便,最好使用ST.

(1),ST实现逻辑与数据运算列举.

主程序调用方法如下:

(2),ST常见的流程控制运算方法.

选择运算一般采用IF…ELSEIF…ELSE…END_IF.

如:

主程序调用as2的方法.

循环运算的方法:

●FOR循环(知道循环次数时使用).

●WHILE循环(不知道循环次数时,使用)

使用技巧:

由于BOOL数据,INT数据在初始化的时候,一般是FALSE与0,但是不能保证绝对是该数据,为了保证程序引用SIGN_AS3作为初始化标志位,在主程序初始化的时候,将其设置为FALSE(与as3的程序相对应).

(3),常用的函数在ST语言中调用

●Timer

T1;//函数声明.类型为TON.

T1.INT1.PT是属性设置.

●Counter

●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