西门子模块总代理商-蚌埠
- 报价
- 请来电询价
- 品牌
- 西门子
- 型号
- 模块
- 产地
- 德国
- 关键词
- PLC,CPU,触摸屏,变频器,交换机,电机,电线,电缆,低压,
- 更新时间
- 2026-06-01 08:56
为了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、 程序加密,防止别人窃取。
编程完成采样工作,要求每10ms采样一次。
分析:完成每10ms采样一次,需用定时中断,查表1可知,定时中断0的中断事件号为10。因此在主程序中将采样周期(10ms)即定时中断的时间间隔写入定时中断0的特殊存储器SMB34,并将中断事件10和INT-0连接,全局开中断。在中断程序0中,将模拟量输入信号读入,程序如图下图所示。

表1中断事件及优先级
优先级分组 | 组内优先级 | 中断事件号 | 中断事件说明 | 中断事件类别 | ||||||
通信中断 | 0 | 8 | 通信口0:接收字符 | 通信口0 | ||||||
0 | 9 | 通信口0:发送完成 | 23 | 通信口0:接收信息完成 | ||||||
1 | 24 | 通信口1:接收信息完成 | 通信口1 | 25 | 通信口1:接收字符 | 26 | 通信口1:发送完成 | |||
I/O中断
| 19 | PTO 0脉冲串输出完成中断 | 脉冲输出 | 20 | PTO 1脉冲串输出完成中断 | |||||
2 | I0.0上升沿中断 | 外部输入 | ||||||||
3 | 2 | I0.1上升沿中断 | ||||||||
4 | 4 | I0.2上升沿中断 | ||||||||
5 | 6 | I0.3上升沿中断 | ||||||||
6 | 1 | 10.0下降沿中断 | ||||||||
7 | 3 | I0.1下降沿中断 | ||||||||
8 | 5 | I0.2下降沿中断 | ||||||||
9 | 7 | I0.3下降沿中断 | ||||||||
10 | 12 | HSC0当前值=预置值中断 | 高速计数器 | |||||||
11 | 27 | HSC0计数方向改变中断 | ||||||||
12 | 28 | HSC0外部复位中断 | ||||||||
13 | 13 | HSC1当前值=预置值中断 | ||||||||
14 | 14 | HSC1计数方向改变中断 | ||||||||
15 | 15 | HSC1外部复位中断 | ||||||||
16 | 16 | HSC2当前值=预置值中断 | ||||||||
17 | 17 | HSC2计数方向改变中断 | ||||||||
18 | 18 | HSC2外部复位中断 | ||||||||
19 | 32 | HSC3当前值=预置值中断 | ||||||||
20 | 29 | HSC4当前值=预置值中断 | ||||||||
21 | 30 | HSC4计数方向改变 | ||||||||
22 | 31 | HSC4外部复位 | ||||||||
23 | 33 | HSC5当前值=预置值中断 | ||||||||
定时中断 | 10 | 定时中断0 | 定时 | 11 | 定时中断1 | 21 | 定时器T32 CT=PT中断 | 定时器 | 22 | 定时器T96 CT=PT中断 |
主程序

LD I0.0
MOVB 10, SMB34 https:// 将采样周期设为10毫秒
ATCH INT_0, 10 https:// 将事件10连接INT_0
ENI https:// 全局开中断
中断程序0

LD SM0.0
MOVW AIW0, VW100 https://读入模拟量AIW0
我们是西门子工控产品专业服务提供商,欢迎来电来函咨询,合作共赢,共同发展!
一般项目:技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;软件开发;电子元器件与机电组件设备销售;电子元器件批发;工业自动控制系统装置销售;电气设备销售;电气设备修理;仪器仪表销售;仪器仪表修理;工业机器人安装、维修;工业机器人销售;专用设备修理;计算机及通讯设备租赁;机械设备租赁;电子产品销售;五金产品零售;金属材料销售;办公设备耗材销售;互联
SIEMENS 可编程控制器 1、 SIMATIC S7 系列 PLC:S7-200、S7-1200、S7-300、S7-400、ET-200 2、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24RC、24RCL 等 3、 SITOP 直流电源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A 可并联. 4、HMI 触摸屏 TD200 TD400C K-TP OP177 ...