青岛合一自动化工程有限公司13864273167,青岛PLC编程专业团带,代理销售青岛工控上位机、青岛电控柜、青岛配电柜箱
电话:13864273167

行业新闻

新闻动态

关于统一青岛PLC编程标准几点说明

文章来源:未知时间:2019-04-08 点击:
关于统一青岛PLC编程标准几点说明 为了PLC程序可读性强,短期内可以读懂并且能够修改,在青岛PLC工作组内部需要统一我们的编程标准,以便适应将来工程人员调动后,原来的程序能够被后来的人在短期内读懂,现统一标准如下:

一、程序结构

1、 程序结构统一

OB1:主程序;

OB100:初始化程序(无需主程序调用);

OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块;

OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程);

FC1:系统模式;

FC2:输入处理;

FC3:输出处理;

FC4:运行处理;

FC5:停止处理;

FC6:手自动切换;

FC7:

。。。

。。。

FC100:之后用来建立一些可以循环调用的子程序;

FC105:系统自带,模拟量输入子程序(可以循环调用);

FC106:系统自带,模拟量输出子程序(可以循环调用);

modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;

通讯CP340:FB2:P_RCV,FB3:P_SND;

一般PID:用FB41;

温、湿度PID:用FB58;

如果程序块与系统块重复,请避让。

2、 数据块

DB1:AI数据,类型:REAL,与上位机接口;

DB2:AO数据,类型:REAL,与上位机接口;

DB3:DI数据,类型:BOOL,与上位机接口;

DB4:DO数据,类型:BOOL,与上位机接口;

DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;

DB6:报警消息,类型:BOOL,与上位机接口;

DB7:类型:REAL,中间寄存器;

DB8:类型:INT,中间寄存器;

DB9:类型:WORD,中间寄存器;

DB10:类型:BOOL,中间寄存器;

DB11:之后用作与设备通讯用,例如:MODBUS通讯等;

DB100:之后用作调用FB块时的背景数据块;

M区:也作为中间变量。

3、 DP从站故障诊断

DP从站必须做故障诊断,故障报警,用FB125即可。

二、控制模式

1、 系统设置远程/本地/手动按钮

1.1、        远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;

1.2、        本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;

1.3、        手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。

2、 单台设备控制

单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。

3、 单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;

三、编程技巧

1、 程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;

2、 如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;

3、 对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的最大值;

4、 程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;

5、 定期做程序备份,最好以工程名称+系统名称+当天日期;

6、 程序加密,防止别人窃取。

 

 

描述

SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。将结果写入OUT。SCALE功能使用以下等式:

OUT = [ ((FLOAT (IN) ?K1)/(K2朘1)) * (HI_LIM朙O_LIM)] + LO_LIM

常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。

?BIPOLAR:假定输入整型值介于 ?7648与27648之间,因此K1 = ?7648.0,K2 = +27648.0

?UNIPOLAR:假定输入整型值介于0和27648之间,因此K1 = 0.0,K2 = +27648.0

如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。

通过设置LO_LIM > HI_LIM可获得反向标定。使用反向转换时,输出值将随输入值的增加而减小。

FC105参数

参数 说明 数据类型 存储区 描述

EN 输入 BOOL I、Q、M、D、L 使能输入端,信号状态为1时激活该功能。

ENO 输出 BOOL I、Q、M、D、L 如果该功能的执行无错误,该使能输出端信号状态为1。

IN 输入 INT I、Q、M、D、L、P、常数 欲转换为以工程单位表示的实型值的输入值。

HI_LIM 输入 REAL I、Q、M、D、L、P、常数 以工程单位表示的上限值。

LO_LIM 输入 REAL I、Q、M、D、L、P、常数 以工程单位表示的下限值。

BIPOLAR 输入 BOOL I、Q、M、D、L 信号状态为1表示输入值为双极性。信号状态0表示输入值为单极性。

OUT 输出 REAL I、Q、M、D、L、P 转换的结果。

RET_VAL 输出 WORD I、Q、M、D、L、P 如果该指令的执行没有错误,将返回值W#16#0000。对于W#16#0000以外的其它值,参见"错误信息"。

错误信息

如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。ENO的信号状态将设置为0,RET_VAL等于W#16#0008

首页
电话
联系