大型西门子PLC程序结构示例!
wx_86645846
2024年07月01日 11:10:12
只看楼主

PART          0          1

PART                   1

         
程序块          

         

OB1:主程序;


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


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


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


FC1:系统模式;


FC2:输入处理;


FC3:输出处理;


FC4:运行处理;


FC5:停止处理;


FC6:手自动切换;


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


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


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


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


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


一般PID:用FB41;


温、湿度PID:用FB58;


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



PART                   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区:也作为中间变量。


PART                   3

         
DP从站故障诊断          

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



     
PART                           4

             
控制模式              

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

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

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

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

3、单台设备

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


PART       

       
编程技巧          

       

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


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


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


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


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


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



免责声明: 本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!


免费打赏

相关推荐

APP内打开