台达PLC详解(附PLC功能总简介)
一)、可编程控制器的应用
1、开关量逻辑控制:电动机启动与停止
2、运动控制:对步进电动机或伺服电动机的单轴或多轴系统实现位置控制
3、过程控制:对温度、压力、流量等连续变化的模拟量进行闭环控制
4、数据处理:数据采集-运算-传送
5、机械加工机床的数字控制:数控系统
6、机器人控制:
7、通信联网: PLC-计算机,PLC-PLC,PLC-人机界面
二)、可编程控制器的分类与特点
1 、按结构形式分类
(1) 整体式:将电源、I/O点、CPU、储存器等做成1个整体
(2) 模块式:将电源、I/O点、CPU、储存器等做成多个模块
2、按I/O点数及内存容量分类
(1) 、超小型机:I/O点数在64以内,内存容量在256-1k字节
(2)、 小型机:I/O点数在64-256,内存容量在l-3.6K字节
(3) 、中型机:I/O点数在256-2048,内存容量在3.6-13K字节
(4) 、大型机:I/O点数在2048以上,内存容量在13K字节以上
3、按功能分类
(1) 低档机:基本功能,逻辑运算、定时、计数等
(2) 中档机:较强的数据处理、子程序及远程I/O等功能
(3) 高档机:较强的模拟调节、智能控制、过程控制等功能
三)、可编程控制器的特点
1、编程简单并具有很好的柔性
2、功能完善、实用性强
3、可靠性高、抗干扰能力强
4、体积小、重量轻、功耗低
5、机电一体化
四)、PLC的基本组成
1、中央处理器CPU模块(Central Processing Unit)
2、存储器
1)、系统程序存储区
2)、用户程序存储区
3、输入/输出模块
4、 电源模块
5 、编程器和编程软件
6、PLC的工作原理
(1)输入采样阶段
(2)用户程序执行阶段
(3)输出刷新阶段
7、关于梯形图的格式,一般有如下一些要求;每个梯形图网络由多个梯级组成,每个输出元素可构成一个梯级,每个梯级可由多 个支路组成.通常每个支路可容纳11个编程元素。最右边的元素必须是输出元素。每个网络最多允许16条支路。
五)、台达各种PLC系列
目前台达PLC有ES、EX、EH2、PM、SA、SC、SS、SX、SV等系列。各系列机型均由各自特点,可满足不同控制要求。
ES系列性价比较高,可实现顺序控制。
EX系列具备数字量和模拟量I/O,可实现反馈控制。
EH系列采用了CPU+ASIC双处理器,支持浮点运算,指令最快执行速度达0.24μs。
PM系列可实现2轴直线/圆弧差补控制,最高脉冲输出频率达500kHz。
SS系列外形轻巧,可实现基本顺序控制。
SA系列内存容量8k steps,运算能力强,可扩展8个功能模块。
SC系列具有100k Hz的高速脉冲输出和100k Hz的脉冲计数。
SX系列具有2路模拟量输入和2路模拟量输出,并可扩展8个功能模块。
SV系列外形轻巧,采用了CPU+ASIC双处理器,支持浮点运算,指令最快执行速度达0.24μs。
六)、台达PLC的型号
台达PLC型号都以DVP开头,
第1-2位为I/O点数;
第3位为主机或扩展模块标志,
E:E类主机,X:扩展模块,S:S类主机;
第4位为机型标志,C:不可扩展型主机,
S:标准型主机,X:模数混合型主机;
M:输入点扩展模块,N:输出点扩展模块,
P:输入/输出扩展模块;
第5-6位为电源类型,00:交流电源,01:直流电源,11:直流电源;
第7位为输出标志,R:继电器输出,T:晶体管输出,N:无输出模块;
第8位为“2”表示功能提升。
例如:DVP 14ES 00 R 2 表示为台达PLC,共有14个I/O点,E类标准型主机,使用220V交流电源,继电器输出,属于功能提升型;
又如:DVP 16 XM 01 N 表示为使用直流24v电源的16点输入扩展模块。
七)、台达PLC的周边设备
1、程序书写器 目前台达PLC程序书写器的型 号为DVP HPP02。
2、WPLSoft编程软件 使用WPLSoft编程软件可在计算机上将梯形图程序输入PLC,完成编程。WPLSoft编程软件可在台达的官方网站下载。
3、各部连接线
八)、ES系列PLC的构成
ES系列PLC是中达电通股份有限公司生产功能非常强的超小型PLC产品,在某些功能上甚至能与大型机媲美。主机内有高速计数器,可输入频率达20kHz的 脉冲,输出的脉冲频率可达10k Hz。
ES系列PLC还具有4个中断源的中断优先权 管理,以及RS—232C和RS485通讯接口。
台达PLC还有与之配套的扩展模块,如I/O模块、智能模块及温度测量模块等。1台ES系列PLC最多可扩展到256个I/O点。
台达PLC的智能模块主要为A/D、D/A模块,当需要对模拟量进行测量和控制时,可以连接智能模块。
需要对温度进行测量和控制时,可将温度测量模块连接到PLC上,温度测量模块可采用PT100型热电阻或J、K、R、S、T型热电偶作传感器。
1. DIN 固定扣:可将PLC主机锁紧在DIN固定槽上。
2. DIN 固定槽:可将PLC主机安装在DIN固定片上。
3. 螺栓孔:可将PLC主机用螺栓固定在控制箱墙板上。
4. RS-232C通讯接口
5. 扩展模块插座
6-7. 接线端子
8-9. I/O指示灯
10. 状态指示灯
① “Power”:接通电源后,“Power”指示灯亮;
② “Run”:程序运行时,“Run”指示灯亮;
③ “Error”:程序出错时,“Error”指示灯亮;
11、12 塑料盖
13、14 I/O铭牌
15. RS-485通讯口
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控制器和运动控制器等设备,以及相应的编程软件和运动控制程序。下面是一些基本的步骤:1.确定运动控制器和驱动器:选择适合的...
plc在输入一个新程序时是如何书写?
在输入一个新的PLC程序时,需要先进入PLC的编程软件界面,然后根据程序所需,编写相应的LadderDiagram。PLC的指令集和LadderDiagram的符号也需要熟悉,仔细按...
plc程序段注释怎么写?
1.PLC程序段注释需要按照一定的格式进行书写。2.原因是注释的目的是为了方便程序的理解和维护,因此需要清晰明了地描述程序段的功能和作用。3.在编写PLC程...
中联重科5610塔机plc破解方法,必有重谢?
只要将PLC记忆体全部消除即可。清除方法如下:1.若使用掌上型程式书写器当书写器与PLC连接后选择ONLINE模态,按GO键,银幕会要求打入密码,此时请按SP键8次,再...
松下plc出现41基本步骤错误-格式错误怎么解决?
关于这个问题,出现41基本步骤错误-格式错误的情况,可能是PLC程序中的某些指令格式不正确,需要对程序进行检查和修改。具体操作步骤如下:1.打开PLC编程软件...
PLC上电下程序后故障红灯亮怎么办?
程序出错了,程序编辑逻辑错误,有可能有双线圈,。"PROG?E"LED灯闪烁一般来说,当此红色LED灯闪时,大部份是程式回路不合理的情况较多,另一原因亦有可能是参...
电气工程师电脑推荐?
电气工程师工作主要是绘制图纸、PLC编程、用现场总线连接各种电力仪表和继保装置、编写电力监控软件等等,还要书写大量的邮件。电脑一般单位就会配,考虑...
plc转盘系统发展背景?
PLC的发展背景及其功能概述PLC,(ProgrammableLogicController),乃是一种电子装置,早期称为顺序控制器“SequenceController”,1978NEMA...
西门子PLC中,二进制、八进制、十进制和十六进制的作用是什么?为什么要用进制?
谢邀!二进制是PLC运行基本单位,也是布尓代数的基本单位,单片机可通过布尔指令直接置位及复位指定端口,从而对外部设备进制程序控制。这也对单片机的位寻址及...
在座的朋友十万火急!关于PLC电梯控制系统?,plc控制系统培...
[回答]可靠性应该没有plc好,尤其是不能和大品牌比,但是价格有优势。而且一般应用没有什么问题,建议不要用于复杂的或者规模较大的控制系统。像PLC,HMI,SC...