您好,欢迎访问一九零五行业门户网

西门子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、  程序加密,防止别人窃取。
其它类似信息

推荐信息