替换PLC的准备工作有哪些?
替换PLC的准备工作是一个系统而细致的过程,需要确保替换过程顺利进行并最大限度地减少对现有系统的影响。以下是替换PLC的准备工作清单,按照清晰的分点进行归纳:
一、明确需求与评估
确定需求:
明确新PLC需要满足的功能和性能要求。
了解当前PLC的输入输出点数、通信协议、编程语言等关键信息。
系统评估:
分析现有PLC系统的整体架构和配置。
评估新PLC替换后对整个系统可能产生的影响。
二、选择新PLC
品牌与型号选择:
根据需求选择合适的PLC品牌和型号。
考虑新PLC的功能特点、可靠性、扩展性等因素。
兼容性评估:
确保新PLC与现有系统(如传感器、执行器、人机界面等)的兼容性。
检查通信协议、I/O点数、信号类型等是否一致。
三、技术准备
编程软件与指令集:
确保新PLC的编程软件与旧PLC的兼容,或提供类似的编程环境。
检查指令集的一致性,减少转换过程中的工作量和错误。
扩展模块与附件:
如果原PLC使用了特定的扩展模块或附件,确保新PLC支持这些模块或提供替代方案。
电源与供电要求:
检查新PLC的电源和供电要求,确保与现有系统匹配。
四、硬件准备
工具与材料:
准备好所需的工具和材料,如螺丝刀、扳手、连接线、接线端子等。
新PLC与配件:
确保新PLC及其配件(如扩展模块、通信模块等)已到位并完好无损。
五、备份与文档
程序与数据备份:
在替换前备份原有的PLC程序和数据,以防丢失。
文档更新:
准备好更新后的PLC程序、接线图、操作手册等相关文档。
六、培训与指导
人员培训:
对相关人员进行新PLC使用和维护的培训,确保他们能够熟练操作新系统。
技术支持与售后服务:
了解新PLC的技术支持和售后服务情况,确保在需要时能够得到及时帮助。
七、安全准备
断电与接地:
在进行替换操作前,确保PLC系统已断电,并进行安全接地处理。
安全标识:
在操作区域设置明显的安全标识,提醒人员注意安全。
S7-1200plc作为从站的编程详解
S7-1200 作为Modbus RTU 从站
S7-1200 支持Modbus RTU通信模式的模块可作为Modbus RTU从站。以下以 CPU1215C DC/DC/DC和CM1241 RS485为例,介绍S7-1200 Modbus RTU 从站通信组态及编程步骤。
硬件和软件需求及所完成的通信任务:
硬件: ① CPU1215C DC/DC/DC (订货号:6ES7 215-1AG31-0XB0)② CM1241 RS485 (订货号:6ES7 241-1CH30-0XB0)③ PS 307电源(订货号:6ES7307-1KA02-0AA0) ④ PC(带以太网卡) ⑤ TP以太网电缆软件: ① STEP 7 V11 Professional SP2 UPD4 +HSP② ModScan(该软件是第三方软件,可以从 Internet 网络下载)所完成的通信任务: 将Modbus RTU从站CPU1215C中地址从DB1.DBW0开始的5 个字中的数据,分别读取到Modbus RTU主站ModScan中Modbus地址从40001开始的5个字中。
1 组态Modbus RTU通信模块
在硬件目录里找到“通信模块”→“点到点”→ “CM1241(RS485)”,双击或拖拽此模块至CPU左侧即可,如下图1所示:
图1 组态通信模块
接下来,在“设备视图”中用鼠标选中CM1241(RS485)模块,在“属性”→“端口组态”中配置此模块硬件接口参数。如下图2所示:
以下以传输率=9.6Kbps,奇偶校验=无奇偶校验,数据位=8位字符,停止位=1,其它保持默认设置为例。
图2 RS485 端口设置
最后在“硬件标识符”里确认一下硬件标识符为271,如下图3所示:
图3 硬件标识符
2 添加启动OB
在项目树下选择“CPU1215C DC/DC/DC”→“程序块”→“添加新块”,在弹出的窗口中选择“OB 组织块”→ “Startup”,添加启动OB 100,如下图4所示:
图4 添加启动OB
3 调用MB_COMM_LOAD指令
为使端口一启动就被设置为Modbus RTU通信模式,可在OB 100中调用“MB_COMM_LOAD”指令。调用“MB_COMM_LOAD”指令时会自动弹出创建相应背景数据块的界面,如下图5所示:
图5 调用MB_COMM_LOAD指令
点击“确认”为该指令创建背景数据块后,为各输入/输出引脚分配地址。尤其需注意MB_DB输入引脚需指向“MB_SLAVE”指令的背景数据块,如下图6所示:
注意: “MB_COMM_LOAD”指令输入位“REQ”需使用上升沿触发。由于OB 100只在S7-1200启动时执行一次,因此,此例中将“REQ”设为“TRUE”。
图6 MB_COMM_LOAD指令
MB_COMM_LOAD指令参数意义如下表1所示:
引脚
说明
EN
使能端
REQ
在上升沿执行该指令
PORT
通信端口的硬件标识符
BAUD
波特率选择:3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 (注意:所有其它值均无效)
PARITY
奇偶检验选择:0-无;1-奇校验;2-偶校验
FLOW_CTRL
流控制选择:0-(默认值)无流控制
RTS_ON_DLY
RTS延时选择:0-(默认值)
RTS_OFF_DLY
RTS关断延时选择:0-(默认值)
RESP_TO
响应超时:默认值 = 1000 ms。MB_MASTER 允许用于从站响应的时间(以毫秒为单位)。
MB_DB
对 MB_MASTER 或 MB_SLAVE 指令所使用的背景数据块。
DONE
完成位:指令执行完成且未出错置1
ERROR
错误位:0-未检测到错误;1-检测到错误。在参数STATUS中输出错误代码。
STATUS
表1 MB_COMM_LOAD指令参数意义
4 创建MB_HOLD_REG数据块
通过“程序块”→ “添加新块”,选择“数据块(DB)”创建 DB 块,选择“标准与S7- 300/400兼容” ,点击“确认”键,定义数据区为5个字的数组,如下图7所示:
注意:MB_HOLD_REG使用的DB访问类型必须是标准与S7- 300/400兼容。
图7 创建MB_HOLD_REG数据块
5 调用MB_SLAVE指令
在OB1中调用MB_SLAVE指令, 调用该指令时会自动弹出创建相应背景数据块的界面,如下图8所示:
图8 调用MB_SLAVE指令
点击“确认”为该指令创建背景数据块后,并为各输入/输出引脚分配地址,如下图9所示:
S7-1200作为Modbus RTU从站,MB_HOLD_REG指向Modbus保持寄存器数据块的指针。设置如下所示:MB_HOLD_REG=P#DB3.DBX0.0 WORD 5。
对应关系如下表2所示:
Modbus RTU主站Modbus地址
Modbus RTU从站CPU1215C 数据缓冲区地址
40001
DB3.DBW0
40002
DB3.DBW2
40003
DB3.DBW4
40004
DB3.DBW6
40005
DB3.DBW8
表2 Modbus地址对应关系
图9 MB_SLAVE指令
引脚
说明
EN
使能端
MB_ADDR
Modbus 从站的站地址 。默认地址范围:0 至 247;扩展地址范围:0 至 65535
MB_HOLD_REG
指向 Modbus 保持寄存器数据块的指针。必须使用“标准 - 与 S7-300/400 兼容”访问类型创建该数据块。
NDR
新数据就绪:0-无新数据;1-表示Modbus主站已写入新的数据
DR
数据读取:0-无数据读取;1-表示Modbus主站已读取新的数据
ERROR
错误位
STATUS
表3 MB_SLAVE指令参数意义
MB_SLAVE Modbus功能
S7-1200
代码
功能
数据区
地址范围
数据区
CPU地址
01
读位
输出
1到8192
输出过程映像区
Q0.0到Q1023.7
02
读位
输入
10001到18192
输入映像区
I0.0到I1023.7
04
读字
输入
30001到30512
输入映像区
IW0到IW1022
05
写位
输出
1到8192
输出过程映像区
Q0.0到Q1023.7
15
写位
输出
1到8192
输出过程映像区
Q0.0到Q1023.7
表4 Modbus地址到过程映象区的映射
MB_SLAVE Modbus功能
S7-1200
代码
功能
数据区
地址范围
CPU DB数据区
CPU地址
03
读字
保持寄存器
40001到49999
MB_HOLD_REG
字1到字9999
400001到465535
字1到字65535
06
写字
保持寄存器
40001到49999
MB_HOLD_REG
字1到字9999
400001到465535
字1到字65535
16
写字
保持寄存器
40001到49999
MB_HOLD_REG
字1到字9999
400001到465535
字1到字65535
表5 Modbus地址到CPU存储区的映射
6 Modbus 主站软件设置
注意: 客户机采用ModScan软件测试,该软件是第三方软件,可以从 Internet 网络上下载。
首先在打开的ModScan软件中建立连接,并设置RTU模式的参数:波特率Baud=9600,数据位Data=8,停止位Stop=1,校验Parity=NONE,如下图10所示:
图10 建立ModScan连接
选择“File”→ “New” 打开ModScan通信界面,设置Modbus RTU从站的地址Device Id=1,数据开始地址Address=0001,数据长度Length=5,Modbus数据类型功能码03,如下图11所示:
注意: Device Id设置必须与“MB_SLAVE”指令中输入引脚“MB_ADDR”设置的地址一致。
图11 设置ModScan
7 Modbus RTU测试结果
在STEP 7 V11 Professional SP2 UPD4软件中打开该项目CPU1215 DC/DC/DC的“监控表”,对DB3.DBW0写入数值21,DB3.DBW2写入数值22,DB3.DBW4写入数值23,DB3.DBW6写入数值24,DB3.DBW8写入数值25。ModScan主站将S7-1200 Modbus RTU从站地址DB3.DBW0的数值21,DB3.DBW2的数值22,DB3.DBW4的数值23,DB3.DBW6的数值24,DB3.DBW8的数值25,分别读取到了地址40001,40002,40003,40004,40005中。如下图12所示:
图12 Modbus RTU测试结果
MB_COMM_LOAD和MB_SLAVE指令STATUS错误代码
STATUS(W#16#)
说明
0000
端口无错误
8180
端口ID值无效
8181
波特率值无效
8182
奇偶校验值无效
8183
流控制值无效
8184
响应超时值无效
8185
MB_DB参数不是MB_MASTER或MB_SLAVE的背景数据块
表6 MB_COMM_LOAD指令STATUS错误代码
STATUS(W#16#)
说明
0000
无错误
80D1
接收方发出了暂停主动传输的流控制请求并且在指定的等待时间内未重新激活该传输
80D2
传送请求终止
80E0
因接收缓冲区满,消息被终止
80E1
因出现奇偶校验错误,消息被终止
80E2
因组帧错误,消息被终止
80E3
因出现超限错误,消息被终止
80E4
因指定长度超出总缓冲区大小,消息被终止
8180
无效端口ID值或MB_COMM_LOAD指令出错
8186
Modbus站地址无效
8187
指向MB_HOLD_REG指针无效
818C
指向M存储器或DB(DB区域允许符号地址和直接地址)的MB_HOLD_REG指针无效
表7 MB_SLAVE指令STATUS参数意义(通信和组态错误)
STATUS(W#16#)
从站的响应代码
说明
8380
无响应
CRC错误
8381
01
不支持功能代码或者在广播中不支持功能代码
8382
03
数据长度错误
8383
02
数据地址错误或地址超出DATA_PTR取的有效范围
8384
03
数据值错误
8385
03
不支持此数据诊断代码值
表8 MB_SLAVE指令STATUS参数意义(Modbus协议错误)
常见问题
为什么触发“MB_SLAVE”指令出错,输出位“ERROR”=1,输出状态字“STATUS”=16#8187?
输出状态字”STATUS“=16#8187表示指向MB_HOLD_REG指针无效。以下两种情况会造成如上错误:
程序中不存在“MB_SLAVE”指令的输入引脚“MB_HOLD_REG”对应的DB块。在创建“MB_SLAVE”指令的输入引脚“MB_HOLD_REG”对应的DB块时选择了“仅符号寻址”。解决方法分别如下:
新建“MB_SLAVE”指令的输入引脚“MB_HOLD_REG”对应的DB块。创建“MB_SLAVE”指令的输入引脚“MB_HOLD_REG”对应的DB块时只能选择了“标准与S7-300/400兼容”。爱上电气 我是电气工程师,分享电气知识;【重要提示】请点击关注,然后进入
公众号
相关问答
plc没有硬件只有软件能练吗?
plc没有硬件只有软件能练。plc有模拟仿真软件可以测试练习。三菱plc仿真软件的功能就是将编写好的程序在电脑中虚拟运行,如果没有编好的程序,是无法进行仿真...
打开西门子STEP7-Micro/WIN通信配置的5种方法?
方法11.正确安装的西门子S7系列PLC,上电自检。编程用的计算机与PLC之间的硬件连接很简单,将PC/PPI电缆的PPI端连接到PLC的RS-485通信口,将PC/PPI电缆的PC端接...
plc停止启动怎么写?
plc停止启动怎么写方法步骤如下1.起保停PLC程序一般需要根据具体的场景进行编写,因此难以给出一般性的答案。2.一般来说,起保停PLC程序是指根据输入信号...
plc编程能取代哪些电器件?
PLC编程(可编程逻辑控制器)通常用于自动化控制系统。它可以取代传统的电气和电子元件,例如继电器、时序器、计数器等。以下是PLC编程可以取代的一些电器件:1...
plc如何加模组?
添加新硬件模块则先进入硬件组态画面,按“选项”(Options),点击“安装新硬件”(InstallHWUpdates),选择“从网络下载”(DownloadfromInternet),按.....
1200plc程序怎么拷贝到电脑?
将1200PLC程序拷贝到电脑的方法如下:打开TIAPortal软件,创建新项目,定义项目名称、文件存放路径、作者、注释等信息。点击项目视图。双击“添加新设备”,...
plc都需要什么硬件?
PLC的主机由CPU、存储器(EPROM、RAM)、输入/输出单元、外设I/O接口、通信接口及电源组成。下面分别介绍PLC的各组成部分及其作用,以便用户进一步了解PLC的控制...
什么是plc模块化?
可以把模块理解成积木块。不同的积木块可以组成不同的形状;同理不同的PLC模块可以实现不同的功能,这就叫模块化的PLC。不同的PLC模块块有不同的功能。不同的多...
虚拟机里安装PLC,如何和外部硬件做通讯?
现在虚拟机应该说主流的用的比较多的还是使用VMware软件做虚拟机,所以我就以VMware软件虚拟机应该如何和PLC通讯做一个简单的说明!首先我用的VMware软件版本是...
由于PLC正在上载/下载,处于致命错误状态或缺失硬件而无法处理此命令?
非cn的程序不能移植到cn中,可重新在cn上编程,并运行cn的程序。原因是限制cn(中国)版在非cn的区域应用。非cn的程序不能移植到cn中,可重新在cn上编程,并运行c...
扫一扫微信交流