9个PLC编程案例,你都能看明白吗?
一、小车往返运动用S7-200实现小车往返的自动控制 ,控制过程为按下启动按钮 ,小车从左边往右边(右边往左边运动) 当运动到右边(左边)碰到右边(左边)的行程开关后 小车自动做返回运动,当碰到另一边的行程开关后又做返回运动 。如此的往返运动,直到当按下停车按钮后小车停止运动。
▲电气接线图
I/O分配表 梯形图程序PLC接线图
程序调试及结果分析
▲控制平台操作面板
当按下SB2即i0.0(鼠标点击i0.0f)接通后,Q0.0接通,小车右行(即指示 灯 Q0.0 亮)。当小车运行碰到右限位开关SQ2即i0.4(用鼠标点击i0.4f,模拟SQ2被压下)接通,此时小车左行(指示灯Q0.0灭,指示灯Q0.1亮),当运行到左边碰到左限位SQ1即i0.3(鼠标点击i0.3f)接通,此时小车又往右运行(指示灯Q0.1灭,指示灯Q0.0 亮)。如此往返运动下去直到按下SB1即i0.2(鼠标点i0.2f)接通,小车停止运行。
附:
二、闪光电路当按下启动按钮后,要求在两秒钟内有一秒亮有一秒灭,如此反复,灯一闪一闪 发光。
I/O分配表
梯形图程序
PLC接线图
程序调试及结果分析
把编写好的程序下载到西门子s7-200PLC中进行调试。观察运行结果和实验要求 是否相同。通过在线控制面板进行调试,当按下在线控制面板上的I0.0f(即 I0.0 接通)此时Q0.0有输出,Q0.0所接负载灯就亮,同时启动定时器T37开始计时, 当计时一秒后因T37动作,其常闭触点断开,所以Q0.0无输出,所接负载灯灭。灯灭的同时启动定时器 T38,T38 计时一秒后,把串联在定时器T37的常闭触点 断开,所以T37复位,T37常闭触点恢复常闭。此时Q0.0 又有输出, 所接负载灯又亮。这样,输出Q0.0上所接的负载灯以接通一秒,断开一秒频率不停地闪烁,直到按下在线控制面板上的 I0.1f(即I0.1接通),闪光电路不再继续工作。若想改变灯闪烁的频率只要改变定时器的时间就能够达到改变要求。
三、星三角降压启动利用西门子S7-200的PLC实现星三角接法的降压启动。
星三角降压启动的电路图与控制图
流程框架图如下
I/O分配表
梯形图程序
PLC接线图
程序调试及结果分析
把编写好的程序下载都西门子S7-200的PLC中进行调试,下载好后我们打开在线控制面板进行调试,看运行结果是否符合要求。首先把控制面板上的i0.2f置位为按钮按下去,即i0.2 接通,表示断路器QF合上。按下启动按钮i0.0f(SB2)即i0.0接通此时电动机星形启动,Q0.0和Q0.1有输出,实验接线图中表示这两个的灯L1和L2都亮同时驱动时间计数器,当计时器计到10S时切换为三角型启动,此时Q0.1无输出,Q0.2有输出,则此时Q0.0和Q0.2 有输出,电机三角星运行。接线面板上的L 1和L3灯亮。按下在线面板上的i0.1f后(i0.1接通)此时电动机停止运行。所以的输出点都无输出。
四、彩灯控制利用PLC的Q0.0到Q0.7八个输出端控制八个彩灯,使其每隔一秒亮一个并循环。当接通I0.0后所有的灯都熄灭。当接通I0.1后又重新从Q0.0开始循环。
I/O分配表
梯形图程序
PLC接线图
程序调试及结果分析
把编写好的程序下载都PLC中进行调试,下载好后我们打开在线控制面板进行调试,看运行结果是否符合要求。
PLC一上电后sm0.0一直保持接通。所以t37进行延时计时,延时到后启动t38计时,t38计时到后t38常闭触点断开所以t37断开计时,t37常开触点恢复为常开所以t38也断开计时。此时t38的常闭触点恢复为常闭所以t37又重新计时,同时计数器C0开始计数一次。如此的反复计数。当计数为1时,Q0.0接通。计数器计数为2时Q0.1接通……如此下去当计数器计数到8时Q0.7接通。当计数器计到9时计数器C0清零。当按下在线控制面板上的I0.0f(即I0.0)接通,此时计数器,和Q0.0~Q0.7都清零,即没有一个灯亮。当按下在线控制面板上的I0.1f(即I0.1接通)此时计数器开始重新计数,灯又从Q0.0开始重新一个接一个地往下亮。
五、比较指令对进出仓库的货物进行记录。仓库最多可放6000箱货物,货物多于1000箱灯L1亮,多于 5000箱时灯L2亮。
I/O分配表
梯形图程序
PLC接线图
程序调试及结果分析
把程序下载到S7-200的PLC中进行调试。在下载的之前我们先把程序中的数字进行缩小处理,以便在实验中我们能够更好的更快的观看到实验结果。我们把L1的灯亮的时候设置为5。把L 2灯亮我们设置为10。这样我们就能够更快的看到实验结果。
当按下在线控制面板上的I0.0f的时候即I0.0接通,表示有货物进去。当我们点击在线控制面板上的I0.0f五次后,此时计时器中的计数值为5,(即表示仓库中已经有1000箱物品了)则灯L1要亮,即Q0.0有输出。当继续点击I0.0f后点 击有十次后此时计数器的计数值位10(即表示仓库中有5000个物品),此时灯L2也亮即Q0.1有输出当继续点击在线控制面板上的I0.0f。计数器中的计数值就继续往上增加。当按下在线控制面板上的I0.1f后计数器就开始往下减。点击一次,计数器中的计数值就减少一次。当计数器中的值小于10时即表示仓库中的物品少有5000箱,此时灯L2灭(即Q0.1没有输出)当继续点击I0.1f时计数器 中的计数值继续减少,当减少到小于5次时。表示仓库中的物品少于1000,此时灯L1灭。Q0.0就没有输出。当按下在线控制面板上的I0.2f时计数器清零。L1和L2都不亮,(即Q0.和Q0.1都没有输出)。
六、8个彩灯移位控制用IO导线控制接在Q0.0到Q0.7上的八个彩灯循环移位,用t37定时,每0.5S移位一位,首次扫描时给Q0.0到Q0.7置初值,让Q0.0和Q0.2先有输出。用I0.1来控制彩灯位移的方向。
I/O分配表
梯形图编程
PLC接线图
程序调试及结果分析
把程序下载到西门子S7—200的PLC中进行调试,PLC一上电Q0.0和 Q0.2 就有输出,则Q0.0和Q0.2亮。当把在线面板上的I 0.0f(表示 I0.0 有输入)置位开关按下后定时器T37开始计时每0.5秒后彩灯以Q0.0和Q0.2作为基础向右每次移移位。当按下在线控制面板上的I0.1f(表示I0.1有输入)使其置位时彩灯以同样的方式向左移动。
七、跳转指令利用跳转指令控制两个灯L1和L2,分别接于Q0.0和Q0.1,切换开关位I0.0,两个灯的控制开关位I0.1和 I0.2.。手动时分别用两个灯的控制开关来控制。自动时,两个灯每隔一秒交替亮。
I/O分配表
梯形图编程
程序调试及结果分析
把编写好的程序下载到s7-200的PLC中进行调试。当I0.0为OF时,PLC运行手动程序按下在线控制面板上的置位按钮I0.1f和I0.2f 即表示(I 0.1和I0.2闭合)灯L1和L2亮,Q0.0 和Q0.1有输出。当我们按下在线控制面板上的I0.0f时,此时I0.0为ON,此时程序跳转到自动程序运行。两个灯每隔一秒循环亮。先L1亮一秒后L2亮。当在按下在线控制面板上的 I0.0f后即此时I0.0为OFF程序跳转到手动程序运行。
八、鼓风机和引风机的顺序启动控制
I/O分配表
梯形图编程
PLC接线图
▲PLC上电时的程序监控图,蓝色表示接通
程序调试及结果分析
Sm0.1的特点在扫描的第一个周期接通,以后不接通。当按下在线控制面板上的i0.0f时即 i0.0接通,此时Q0.0接通输出,(即指示灯Q0.0亮)引风机启动,同时定时器T37接通并开始计时,当定时器计数到50即(即指示灯Q0.1亮)鼓风机启动。此时两台风机都运行。当按下在线控制面板上的I0.1f时,即接通I0.1此时鼓风机停止运行,(即指示灯Q0.1灭)同时定时器T38接通并开始计时,定时5s后引风机停止运行。(即指示灯Q0.0灭)。
九、液体混合用S7-200实现液体混合的自动控制。当按下启动按钮后,液体阀A 打开,液体A流入搅拌机里面。当液位达到中限位时阀A关闭,同时打开液体阀B,液体B流入搅拌机里面。当液位达到上限位时,阀B关闭,此时启动电动机进行搅拌。搅拌一分钟后电动机停止同时阀门C打开,混合液体流出。当液位到达下限位时再过5S容器放空,关闭阀门C。同时打开阀门A,注入液体A。如此周期性的循环。若按下停止按钮后必须要等一个周期循环完后才停止。
I/O分配表
梯形图编程
PLC接线图
程序调试及结果分析
当按下在线控制面板上的I0.03f 即(I0.3闭合)阀A打开(即Q0.0亮),当按下在线控制面板上I0.0f(即I0.0中限位闭合)阀A关闭,阀B打开(即Q0.0灭,Q0.1 亮)当按下在线控制面板上I0.1f(即上限位I0.1闭合)此时阀B关闭,电动机启动开始进行搅拌,(即Q0.1灭,Q0.2亮)同时定时器T37开始定时一分钟,一分钟后搅拌机停止搅拌,阀C打开(即Q0.2灭,Q0.3亮)当液位到达下限位后阀C继续打开(即Q0.3亮)同时定时器T38开始定时。5s后阀C关闭。阀A打开,(即Q0.3灭,Q0.0亮),进入下一个循环周期。按下在线控制面板上的I0.4f(即表示停止的I0.4闭合)此时系统不会立即停止,而是当运行完一个周期后才停止
四个PLC应用实例详解,附程序及说明!
(一)S7-300 PLC在变电站中的应用
某油田有150多座变电站,承担着油田整个油区、社区及生活区部分居民的用电,油田电网的安全运行对于保证原油产量持续上升和居民安居乐业起着至关重要的作用。
油田变电站中的AEUD-WIII全自动智能免维护直流屏采用模块化设计、数字化控制,智能化程度高。该直流电源具有先进的系统监控功能,着重电池在线管理、接地选线、“四遥”通信、告警显示和事故追忆等功能进行开发,使得系统安全性、可靠性更高。
该系列全自动智能免维护直流屏采用SEIMENS公司生产的OP170B型人机界面,该监控模块具有结构紧凑、显示分辨率高、可靠性高、寿命长等优点。通过人机界面可以完成整流模块启动,充电状态显示,查看报警信息,手动电池巡检,绝缘监察、接地选线、报警试验、报警复位等直流屏的所有操作,并能显示直流屏的原理图及各个运行参数和各种故障信息。控制模块采用S7-300系列模块,进行数字和模拟信号的采集及输出。
硬件系统构成
1.PLC配置
变电站直流监控系统的PLC采用西门子公司的S7-300 PLC。根据系统要求,PLC总体配置如下:
①中央处理模块(CPU):选用CPU 314。
②数字量输入模块(DI):选用SM321,共1块(16点/块),处理4点输入信号。
③数字量输出模块(DO):选用SM322, 共4 块(16 点/块),处理56 点输入信号。
④模拟量输入模块(AI):选用SM331,共1 块(8 点/块),处理8点输入信号。
⑤模拟量输入、出模块(AI):选用SM334,共1块(4点入和2点出/块),处理2点输入和2点输出信号。
2.操作屏配置
操作屏采用两个OP170B,一个安装在控制柜;一个安装在监控中心。
3.监控系统软件
变电站直流监控系统的软件主要有两部分:显示单元和软件单元。
1)显示单元
操作屏采用工业级人机界面,主要完成直流系统运行监控、故障报警、记录和排除提示、参数设置、模拟键盘操作、数据记录处理、累计运行时间控制等任务。
显示单元包括主画面、电池巡检画面、电池组电压记录画面、绝缘监察、当前报警画面、历史报警画面、累计运行画面等画面。
2)控制软件单元(只给出部分功能软件)
软件单元由系统时钟读取、整流器控制、电池巡检、绝缘监察、接地选线、限流电阻控制、累计运行时间、当前报警处理、历史报警信息处理、报警试验等程序构成。
(1) 整流器控制。
给定延时
A “F1_k1”
AN “F1_k2”
= “DO_k1”
主充电机给定
A “DI_k1”
JNB _001
CALL FB21,DB21
_001: NOP 0
主充电机给定复位
AN “DI_k1”
AN “DI_k2”
= L0.0
A L0.0
BLD 102
S “float_charge”
A L0.0
JNB _004
L 0
T “ug_hm0”
_004: NOP 0
A L0.0
JNB _005
L 0
T “ug_hm1”
_005: NOP 0
A L0.0
JNB _006
L 0
T DB66.DBD580
_006: NOP 0
主浮充转换
A(
O “DI_k1”
O “DI_k2”
)
JNB _003
CALL FB20,DB20
_003: NOP 0
(2)巡检:能够自动(每天定时)和手动进行电池巡检(部分程序)。
每天10 点自动电池巡检
A(
L MW22
L 10
==I
)
FP M15.2
AN “scan_end”
S “scan_start”
按下面板电池巡检键,手动进行电池巡检
A(
A “F3_bat_scan”
FP M15.3
O(
A “F3_bat_scan”
FN M15.4
)
)
AN “scan_end”
S “scan_start”
电池巡检开始
A “scan_start”
JNB _001
CALL FB23,DB23
_001: NOP 0
电池巡检开始,画面转到电池巡检画面
A “scan_start”
FP M17.4
JNB _002
L 2
T MW102
_002: NOP 0
电池巡检结束,复位电池组序号
L MW186
L 18
==I
= L0.0
A L0.0
JNB _003
L 0
T MW116
_003: NOP 0
A L0.0
JNB _004
L DB65.DBW100
T MW118
_004: NOP 0
A L0.0
BLD 102
L S5T#2S
SD T51
电池巡检结束,置位电池巡检标志位
A T51
= L0.0
A L0.0
JNB _005
L 0
T MW186
_005: NOP 0
A L0.0
BLD 102
S “scan_end”
电池巡检结束后,进行过、欠压判断
A “scan_end”
JNB _006
CALL FB24,DB24
_006: NOP 0
(3) 绝缘监察及接地选线:能够自动(每天定时)和手动进行绝缘监察及接地选线(部分程序)。
判断系统时钟是否为9 点,若是,则启动自动执行绝缘监察功能
A(
L MW22
L 9
==I
)
FP M15.5
S “auto_gnd_chk”
根据绝缘监察霍尔电压采样值与设定值的大小,判断是否出现不平衡接地,若出现,则启动
AN “gnd_chk”
= L2.0
A L2.0
A(
L MW148
L MW122
>I
)
FP M15.6
S “en_unbalance”
A L2.0
A(
L MW148
L MW122
<=I
)
FP M15.7
R “en_unbalance”
使绝缘监察启动的三种条件,有任何一个满足要求,则开始绝缘监察
A(
O “auto_gnd_chk”
O(
A “en_unbalance”
FP M16.1
)
O(
A “en_unbalance”
FN M16.2
)
O(
A “F4_gnd_chk”
FP M16.3
)
O(
A “F4_gnd_chk”
FN M16.4
))
AN “gnd_chk”
S “en_chk”
进行绝缘监察时,进入绝缘监察画面
A “en_chk”
FP M17.5
JNB _001
L 4
T MW102
_001: NOP 0
监察完毕,进行监察使能复位
A M17.0
R “en_chk”
R “gnd_chk”
监察完毕,进行对地电阻值,电压值记录及进行报警
A M17.0
JNB _009
CALL FB25,DB25
_009: NOP 0
(4)当前报警及历史报警信息处理(程序略)。
故障分类为二级:分为一般故障和致命故障。
一般故障包括:
当发生此类故障时,仅声光预警,不中断当前操作。根据系统中产生的各种故障实施相关的故障声光报警和记录,此刻显示屏进入故障报警画面,显示故障内容,性质,时刻,按ACK 解除声音报警,但故障显示仍然存在,直至解除故障。
致命故障包括:
当发生此类故障,将禁止所有控制输出,声光报警,在显示屏上显示故障类型、内容、时刻。只有在排除故障,按人工复位键后系统恢复正常工作。
普通故障指示(K8)
L MW84
L 1
==I
= M8.4
致命故障指示(K9)
L MW84
L 2
==I
= M8.7
(5)显示画面及LED 灯指示
主充电机运行指示灯(F1)
A “DI_k1”
= M6.0
= M6.1
主充电机直流输出故障闪烁报警控制(故障)
A(
O(
L DB65.DBW202
L 1
==I
)
O(
L DB65.DBW204
L 1
==I
)
)
JNB _00f
L 1
T MW52
_00f: NOP 0
蓄电池充电状态显示控制(主充)
A “DI_bat”
AN “float_charge”
JNB _019
L 1
T MW68
_019: NOP 0
蓄电池充电状态显示控制(浮充)
A “DI_bat”
A “float_charge”
JNB _01a
L 2
T MW68
_01a: NOP 0
小结
油田变电站直流监控系统自2001年由S7-200系统改进为S7-300系统以来,正常运行证明:整个系统设计先进、合理,操作简单,可靠性高,符合用户预期的要求,成为推广项目。
(二)S7-300 PLC 在断路器极限电流测试系统中的应用
断路器极限电流测试系统通过工业PC串行口实现与S7-300的CP 340(RS-232C)模块通信,从而实现对系统的实时监控。
极限电流测试系统介绍
断路器是一种能接通和分断正常负荷电流、过负荷电流、短路电流的开关电器。为标定断路器极限电流这一指标使其满足出厂要求,每个产品须经过极限电流测试系统的测定,以下是SZ高新区的电器设备制造企业应用IPC结合S7-300 PLC实现该测试系统。
1.测试系统的框架
系统的主控由IPC承担,其负责测试的参数设定、产品的型号选择、测试信息的记录分析,S7-300 通过与IPC进行ASCII方式的通信,接收IPC的指令,操控系统的接触器,固态继电器等执行设备,同时将测试的信息返回给IPC ,为了给断路器测试提供工作环境,系统中采用电流源供电方式。
考虑提高测试的效率, 系统设计时为提供20路测试环境,20组被测试设备可以串联同时进行测试,一旦其中的某一组或某几组在测试时跳闸,其旁路接触器和旁路固态继电器(图中未画出)立即接通,保证串联电路中其他测试单元能正常供电,此处选择固态继电器和接触器并联,主要考虑回路在某组跳闸断开时及时保护电流源,防止电流源开路使用。
20个单元也可通过IPC设定其中的前几组进行测试,在未设定范围工位处的接触器与固态继电器在测试开始接通旁路以便前面工位的测试,在串联回路中的接触器的三路常开点并联使用考虑增加回路的电流容量。
2.系统自动化器件配置
断路器极限电流测试系统的自动化器件有:CPU315-2DP一台、AISM321(32输入) 一块、DOSM322(32输出,24V)两块、DOSM322(16输出,230V)两块、CP340一块。
选型中考虑了以下的因素:
1)考虑与IPC进行ASCII通信,选用性价比较高的CP 340(RS-232C)。
2)考虑驱动接触器和固态继电器,所以输出模块选择两种方式,24V晶体管输出驱动固态继电器,其工作速度比继电器要快得多,比较适合对固态的控制。
IPC采用LABWINDOWS的开发环境,提供友好的信息交换画面和管理系统。
3.串行通信的实现
断路器极限电流测试系统中,IPC和PLC的信息交换至关重要,其好坏直接影响测试的性能和稳定性。此处CP340选用SIEMENS提供的RS-232C模块,采用ASCII的协议,通信的设置为9600、8、1、EVEN。PLC与PC间采用异步串行方式进行通信,采用主从问答式。PC始终具有初始传送优先权,所有的通信均由IPC来启动。PLC调用FB2、FB3功能块,实现接收和发送功能,协议的格式主要分为以下两类:
1)写命令 (共9个字节):
PC:“#”(Head 1字节)+“W”(类型1字节)+起始地址(2字节)+数据(4字节)+校验核(累加和)。
PLC:收到命令且校验核正确,原封不动返回接收到的全部9个字节。
命令1:PC:“#W”0x1fff 0xffff+0x000f+Check_sum;表示0-19号接触器全存在;
命令2:PC:“#W”0x10ff 0xffff+0xffff+Check_sum;开始测试;
命令3:PC:“#W”0x10f5 0x0000+0x0000+Check_sum;停止测试;
……
2)读命令 (共9个字节)
PC:“#”(Head 1 字节)+“R”(类型1字节)+起始地址(2字节)+ 0x00000000(4字节)+ 校验核(累加和)。
PLC:收到命令且校验核正确,返回0-19号接触器的状态, “1”: 闭、“0”:开。
命令1:PC:“#R”0x2fff 0x0000 +0x0000 + Check_sum;表示读取0-19号接触器的状态;
PLC返回:“#R”0x20ff 0xffff +0x000f + Check_sum;表示0-19号接触器全部闭合。
PLC返回:“#R”0xffff 0x0000+0x1000 + Check_sum; 表示PC命令错误。
在协议中作了以下规定:
①以“#”作为起始字符,占用一个字符。
②通信类型由“W”和“R”区分。
③整个命令采用和校验的方式,每次将校验和放在最后一个字节。
④测试时,不一定20个测试断路器全部存在,如不存在,必须将旁路接触器(固态继电器)接通,否则不能正常工作。在命令1中可以设定0-19号接触器的存在情况,“0xffff + 0x000f”表示0-19号被测断路器全部存在,这样的表示方法给PLC处理带来了较大的方便。
在程序中,将4个字节存入MW中,命令中的5个16进制“f”(对应二进制20 个“1”)可以分配到每一位。“1”表示被测试器存在,“0”表示不存在。
4.控制系统完成的功能
测试系统每路测试单元的结构相同,如下图所示。左边为每路的指示灯,正常工作为绿色,跳闸则为红色,(Q8.0~Q12.7)未选中则都不显示。右边分别为被测断路器,旁路接触器(Q16.0~Q18.3),旁路固态继电器(Q13.0~Q15.3)。辅助触点是被测断路器用来检测当前断路器的闭合还是断开(I4.0~I6.3),灯、接触器、继电器、辅助输入的地址依次增加。
程序中我们考虑用循环加上间接寻址的方法来实现:
L +20
T MB0 //循环次数
L 2#0000_0000_0010_0000 (I4.0) //辅助输入起始地址
T MD2
L 2#0000_0000_0100_0000 (Q8.0) //输出绿灯起始地址
T MD6
L 2#0000_0000_0100_0001 (Q8.1) //输出红灯起始地址
T MD10
L 2#0000_0000_0010_0000 (Q13.0) //输出接触器起始地址
T MD14
L 2#0000_0000_0010_0000 (Q16.0) //输出固态继电器起始地址
T MD18
NEXT:
L MD2
INC 1
T MD2 //辅助输入地址加1
L MD6
INC 2
T MD6 //绿灯输出地址加2
L MD10
INC 2
T MD10 //红灯输出地址加2
L MD14
INC 1
T MD14 //控制接触器输出地址加1
L MD18
INC 1
T MD18 //控制固态继电器输出地址加1
L MB0
LOOP NEXT //20组做完吗?
…
应用了此结构使得程序变得非常简洁,调试非常方便,一旦某一功能改变,修改方便,如果用实际地址的话每组的相应的地方都得修改。
小结
CP 340的应用使得西门子产品与其他设备沟通方便,STEP 7间接地址编程方法非常有效,断路器极限电流测试系统统在2005年完成后实际运行效果良好。
(三)S7-300 PLC与DCS串行通信
随着PLC和DCS生产厂家在通信软件上的日趋完善及电力工程在设备招投标力度上的加强,设备成套厂家大力推荐使用串口通信作为PLC和DCS之间的信号连接。本例以DH电站一期2×600MW机组项目中锅炉等离子点火系统使用的西门子S7-300 PLC(CP341通信卡件)与西门子DCS控制系统TELEPERM XP(CM104通信模件)间的通信为例,介绍实施MODIBUS RS-232C/RS-485通信的具体步骤,对系统的硬件配置、连接、软件组态进行描述。
系统连接
TELEPERM XP配置的模件通信处理器CM104作为“主站”(MASTER),支持MODBUS协议,并提供6个9针RS-232C串行接口(Serial 3~Serial 8),如下图所示。由于通信距离超过15m,在S7-300 PLC的配置中与DCS的通信卡选用CP341-RS422/485卡件作为“ 从站”(SLAVE),该卡件提供一个1个15针串行接口,同样支持MODBUS协议,设计中使用PHOENIX公司的PSM-EG-RS-232C/RS-485-P/ZD模块作为RS-232C转为RS-485接口的适配器。
适配器内部跳线设置:RS-485 BUS-END为ON,DTE/DCE选择为DCE即数据电路终接设备方。CM104与适配器间使用标准9针串口线连接,CP341与适配器进行RS-485通信时,选用2芯屏蔽电缆,接线如下图所示。
CP 341模块应用简述
CP 341是S7-300点到点通信模块,硬件接口采用RS-232、TTY、RS-422/RS485(X27)方式;软件协议有MODBUS,3964(R)、R512K和ASCII;本工程应用MODBUS SLAVE协议。
MODBUS是一种工业现场总线通信协议,为主/从模式,主站发出请求后,从站应答请求数据,数据应答内容依据功能码进行响应,下表是CP341应用的功能码所对应数据类型。
表 CP341应用的功能码所对应数据类型
功能码
数据
数据类型
存取
地址
01,05,15
线圈(输出)状态
位
输出
读/写
0XXXX
02
输出状态
位
输入
只读
1XXXX
03,06,16
保持寄存器
16位寄存器
输出寄存器
读/写
3XXXX
FC21 FC with SEND
FC22 FC with RECEIVE
DB21,DB22 Instance DBs for thestandard FBs
DB40,DB41 Work DBs for thestandard FBs
DB42 The source DB for send
DB43 The destination DB for receiveddata
OB1 Cyclic OB
OB100 Restart (warm start) OB
VAT1 Variables table
FB7,FB8 Standard FBs forRECEIVE,SEND
SFC58,59 SFCs for the standardFBs
对在“Blocks”编程后,将CPU置于“RUN”位置,CP341即可以进行串口的通信。
(2)通信参数的编程
Modbus Slave Address: 1
Port: RS485
Baud rate: 19200
Date Bits: 8
Parity: None
2.CM104软件组态
对CM 104的控制组态包括硬件组态及各类输入输出组态,在此不作介绍。而通信参数的组态主要是通过其编程接口Serial 1写入CM.INI文件,共涉及14个组态项目,有些是常规的组态项目,可以是系统的缺省值。例如使用了以下是必须要完成的组态项目:
Modbus Master on (Serial 5)
[ModbusMaster_3]
PortAdr=0x380
Irq=5
Baudrate=19200
Parity=NONE
StopBits=1
DataBits=8
RCS-Offset=-1 ; Modifier for addresses related tofunction code 1 (read coil status)
RIS-Offset=-1 ; Modifier for addresses related tofunction code 2 (read input status)
RHR-Offset=-1 ; Modifier for addresses related tofunction code 3 (read holding register)
RIR-Offset=-1 ; Modifier for addresses related tofunction code 4 (read input register)
FSC-Offset=-1 ; Modifier for addresses related tofunction code 5 (force single coil)
PSR-Offset=-1 ; Modifier for addresses related tofunction code 6 (preset single register)
RtsCts=1
Delay=200
Timeout=1000
Dummys=5
实施过程中的注意事项
当连接和组态工作正确无误后,PLC和DCS会进入正常的数据通信状态。这可以从卡件的状态灯上反映出来。
CP341上有三个状态指示灯,分别是:SF(RED)表示错误状态;TxD(GREEN)表示数据在传送;RxD(GREEN)表示数据在接收。通信正常时为TxD和RxD状态灯交替闪烁。
CM104上的状态指示灯分别为:POWER(ORANGE) 表示CM104已经供电;RESETR(RED)表示复位;HDD(GREEN)表示启动时对内部存储器的读写;SCSI(GREEN)表示外接SCSI设备后的状态;LAN(GREEN)表示与TXP总线的连接状态,正常时为绿色闪烁;LAN100(GREEN)表示连接速率;USER1(GREEN)表示与TXP通信的状态,正常时为无显示;USER2(GREEN)表示与第三方设备通信的状态,正常时为无显示。
PHOENIX接口适配器上有两个灯,分别是:CTS(ORANGE)表示数据在传送;RTS(GREEN)表示数据在接收。通信正常时为CTS和RTS状态灯交替闪烁。
当通信不正常时,卡件的状态指示灯立即显示错误状态。此时应先检查硬件错误再检查软件错误。如通过软件组态功能块的诊断信息来查找故障原因。在软件编程方面,要注意以下两点:
①要确保PLC和DCS的通信速率一致,建议使用9600bit/s或19200bit/s的速率,而且最好不要增加奇偶校验;
②要保证通信数据地址的有效性,地址的偏置可以在CM104中设置。
在硬件方面,要注意以下方面:要确保使用屏蔽的ITP电缆;同时要注意在接线时一定要正端连接正端,不要接反。
小结
通信实施后,在传输信号的质量上以及维护上都有了比较明显的改善,但系统还有其他协议转换装置时,在实时性方面略显不足。该方案S7-300 PLC上所有监视、控制都可以在DCS上进行,同时工程费用同硬接线比较显著降低。
(四)S7-300/400 PLC在永久船闸系统中的应用
1.船闸控制系统组成
船闸每线船闸电气控制系统主要由一个集中控制系统、12个现地子站控制系统、14套排水控制系统、一台桥式起重机和4个防撞警戒装置组成。
每线船闸的自动监控装置均由1套集中控制主站、12套现地控制子站及通航信号装置、广播指挥设备、船舶探测及工业电视监控管理装置和其他外围设备组成。集中控制主站由二个冗余S7-400 PLC组成,现地控制子站由12个冗余S7-400 PLC组成。排水控制系统、桥式起重机、防撞警戒装置由S7-300 PLC组成。
系统主要功能负责完成每线船闸连续过闸作业的实时过程数据采集、集中控制、操作等功能,以及集中控制系统与现地控制系统的通信控制。子站的主要工作为控制操作本闸首的液压泵站、人字工作闸门、输水工作阀门、防撞装置和通航信号指挥等设备。为确保系统安全运行、及时采集各种信息,集中控制系统与现地控制系统通过冗余双环光纤工业TCP/IP 以太网络及光纤切换模块(OSM)和光纤冗余管理模块(ORM)连接,系统框图如下图所示。
闸门关闭条件:阀门、锁定装置处于非运行状态,本闸首子站无B类故障。
阀门开启条件:相邻闸阀门关终、闸门锁定装置非运行状态、本闸首子站无B类故障。
阀门关闭条件:闸门锁定装置非运行状态、本闸首子站无B类故障。
船闸控制系统的基本配置
每个集控控制站由4个电源模块、2个中央处理器(CPU-417H)、4个通信模块(CP443-1)、2个ET200远程站、8个数字量输入模块(DI)、6个数字量输出模块(DO)、2个操作员面板PC670等组成。每个现地控制子站由1个电源模块、1个中央处理器(CPU-417H)、2个通信模块(CP443-1)、4个ET200远程站、2个模拟量输入模块(AI)、2个模拟量输出模块(AO)、15个数字量输入模块(DI)、8个数字量输出模块(DO)、2个SM338模块、操作员面板TP37等组成。
为确保系统稳定性利用S7-417H的冗余、容错特点,集控控制站2个相互冗余。现地控制子站同一个闸首的两侧两个PLC通过两条光缆实现同步。位于两个CPU上的分布式处理DP接口分别与一条PROFIBUS现场总线相连,实现CPU与现场I/O的冗余通信;采用TCP/IP通信协议的冗余工业高速以太网以太光纤网相连,实现PLC之间与计算机监控系统的通信。现地子站控制系统PLC配置图如下图所示。
每个子站作为一线船闸整体运行自动监控系统的一个基本控制单元,除具有现地操作控制的基本功能外,还应能接受集控站的程序控制指令,自动地对人字工作闸门、输水廊道工作阀门、防撞警戒装置、通航指挥信号装置等现地设备进行操作和控制;采集液压站系统信息、现场闸阀门开度、位置信息、水位检测数据以及相邻闸首保证安全运行的闭锁信息,经预处理后输出操作执行指令。并向集控站反送现场信息,集控站依据这些信息,作出控制决策,自动完成船闸整体运行的监控任务,使船只(队)高效、安全顺利通过。
西门子PLC在船闸系统中的控制特点
1.左右闸首PLC实现硬件热备及事件同步
左右闸首两个PLC站实现无条件的全自动无扰动切换。当互为热备的两个PLC站中的一个站作为主站工作时,同时控制闸门两边的人字门。在两个PLC站上的光联同步模块同步作用下,安装在对岸作为从站CPU 的所有数据和工作状态均与主站CPU完全相同,但从站输出被禁止。当主站不能正常工作时(如电源无、CPU坏、DP口坏、同步模块坏),由于采用事件同步机理,从站将由系统无条件地自动切换为主站,切换时间为≤10ms。
PLC站上所有模块均可带电拔插,原来主站修复后作为从站工作,当前主站CPU程序及过程数据将自动灌装给修复后的从站CPU,使从站CPU数据和工作状态与主站一致。
2.PLC的编程、维护十分简便
由于S7-417H的CPU是专为冗余系统设计的,其CPU硬件系统和固化在CPU内部的操作系统保证了系统用户好像面对一个非冗余的单机系统一样编程。冗余系统的管理工作完全交给系统自动去完成,换言之,用户可选软件包对冗余系统进行简单参数设置后,对互为热备的任何一个CPU下装程序后,程序将自动拷贝到另一个CPU。因此,用户程序可方便地由单机程序转换成冗余CPU程序,反之亦然。
S7-417H完全支持在线编程、组态和调试,所有模块(包括网络通信)均可带电拔插,并不需作任何初始化的工作,使现场维护十分方便。CPU417H操作系统升级也可在线进行。
3.采用先进的网络技术
通过PROFIBUS冗余网络连接I/O,使系统结构简单可靠。两条PROFIBUS-DP网线同时与IM153-3两个DP接口相连,每个测点从两个传感器获取的输入信号分别就近送入ET-200站的输入模块,并通过IM153-3和冗余PROFIBUS-DP网线同时分别传送到每一个CPU。
在两个PROFIBUS-DP网正常工作,但其中一个IM153-3的一个DP口出现故障时,系统并不实行CPU或PROFIBUS-DP网之间的切换。IM153-3会采用另一个DP口通过一条DP网将数据送到相应的CPU上,并通过光纤热备线将数据由从CPU传送给主CPU。同时,该DP口的输出被唯一激活。当两DP网上不同的网段和DP口出故障时,可分别采用另一网段或DP口与CPU通信,大大提高了网络可靠性,而不是一个简单的双网,从而最大程度减少了CPU的切换,大大减少了因CPU切换造成的CPU同步时间,提高了CPU运行效率。
当某一IM153-3模块完全损坏,由于系统为同一测点配置了两个传感器,另一个IM153-3模板从与之相连的传感器获取信号,并经与之相连的双冗余PROFIBUS-DP网将信号传送给两个CPU。IM153-3模板可在线更换,IM153-3的两个DP接口也可在线更换,易于修复系统。
4.PLC输入输出单元的通信
位于两个CPU上的分布式处理DP接口分别与1条PROFIBUS现场总线相连,实现CPU与现场I/O的冗余通信。两条PROFIBUS-DP网线同时与ET-200M站上冗余配置的IM153-2模块相连,这样输入输出信号通过冗余的IM153-2及PROFIBUS-DP网线同时与两个互为热备的CPU通信;当与主CPU通信的IM153-2模块出现故障时,系统并不实行CPU或PROFIBUS-DP网之间的切换,而是自动通过另一条DP网将数据送到相应的CPU上,并通过光纤热备线将数据由从CPU传送给主CPU。从而最大程度减少了CPU的切换(CPU切换时会产生CPU同步时间差),提高了CPU的运行效率。IM153-2模板可在线更换,PROFIBUS网也可以在线更换,易于修复系统。现地子站通信网络图如下图所示。
程序运行时,对两侧人字门开度差进行检测,根据开度差,经PID运算后给定比例泵电压调整值,改变人字门运行速度。同时限定调整值的变化范围和幅度,防止人字门运行过快和抖动。当人字门开度差超过设定范围20mm时A类报警。
相关问答
plc程序能看懂不会编程怎么办?
2、在此基础上再增加新的功能的程序。3、用最简单的程序试验、编辑单个指令或梯形图程序。4、打开不同示例程序,尝试修改、增加、删除某些元件及功能,看看执...
plc抢答器接线试验步骤与难点?
1PLC抢答器接线试验步骤与难点相对较多。2难点在于需要对PLC抢答器的原理和工作流程充分理解,同时需要根据具体的接线图进行正确的接线和连接,这是保证试验...
plc编程入门基础资料?
步骤/方式二星--三角起动主线路图设计出来以后,就可以把实物接触器线路接好,等待备用。步骤/方式三星--三角起动PLC接线图设计,把I/O点标号做好,以免接线...
怎样学习plc?
学习PLC需要具备一定的电气和自动化控制知识,同时需要掌握PLC编程软件的使用方法。学习的过程中可以通过阅读相关书籍、观看视频教程、参加培训班等途径来提高...
plc实验台控制原理?
plc实验台的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。plc实验台在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的...
请问PLC300写好程序后怎么模拟测试各个控制回来呀...-盖德...
不知道你的step7是不是专业版,如果是专业版的话,会带有一个模拟器,授权后可以通过模拟器来模拟di/do信号,从而简单的实验控制逻辑。可以用仿真软...
学习西门子的PLC编程,需要哪方面的理论知识?
你好,很荣幸能回答你的问题,希望我的回答对你有帮助。你遇到的问题我在学习PLC过程中也遇到过。这应该是大家的必经之路吧。学习任何一个品牌PLC都需要一定的...
PLC控制柜调试的步骤有哪些
[回答](3)为了安全考虑,将主电路断开。用先编写好的试验程序对外部接线做扫描通电检查来查找接线故障。首先对PLC外部接线作仔细检查很重要,只有外部接线...
西门子plc编程,如何学习SCL语言编程?
不要看的很神秘,和你小时候写作文一样,字词词组成语句子段引用文章,成了。字:字符,词:关键词名称词类型就是变量类型,句:if,段:有逻辑关联的一段...
不能用于plc编程的语言有什么?
PLC有五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言最常用的两种编程语...采用...