浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
西门子6ES7232-0HD22-0XA0

为了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、 程序加密,防止别人窃取。

Step 7系统中使用CFC编程时,通过编译CFC系统将自动生成所需的程序代码。但为了防止CPU故障情况下停机,则需要手动在Blocks文件夹中添加错误处理OB(例如OB86等)。但重新编译CFC后,这些手动添加的OB则会被系统删除。
如何能让系统自动生成这些错误处理的OB呢?本文将通过如下的简单实例介绍具体的组态过程。

1. 打开项目,在Blocks文件夹中右键插入一个FB



图 1 插入FB块

2. 定义FB块的块号及符号名,避免和项目中实际使用的FB冲突。


图 2 定义FB块号

3. 切换到属性页面,加入属性S7_tasklist属性,值(Value)设置为OB80,OB81,OB82,OB83,OB84,OB85,OB86,OB88,OB121,OB122。各OB之间通过逗号隔开。点击OK关闭该功能块的属性定义对话框。(注意标点符号不能使用中文的全角标点符号)


图 3 定义功能块的S7_tasklist属性

4. 双击打开该功能块,任意定义一个输入管脚,如下图所示。



图 4 任意定义该功能的管脚

5. 任意打开一个CFC,并在CFC中调用该功能块即可。



图 5 任意CFC中调用该功能块

6. 编译CFC后,系统将会根据上述定义自动生成相应的错误处理OB,防止相应错误发生时CPU停机。



图 6 CFC编译后将自动生成相应OB

注:使用PCS 7进行程序编写时,无需按照上述方面系统即可自动生成所需的OB。


发布时间:2023-10-26
展开全文
优质商家推荐 拨打电话