




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
M218与ATV312Modbus串行通讯控制Modbus通讯控制命令、给定速度M218 Modbus Serial Communication with ATV312 Edition:2012-6 目录1. 实验简介32. 实验环境32.1硬件环境32.2软件环境43硬件连接44ATV312变频器设置44.1操作说明64.2主要参数设置74.2.1 恢复出厂设置84.2.2 电机参数94.2.3 控制方式104.2.4 通讯参数125PLC编程135.1 Modbus协议简介135.2 交换数据表145.3 ATV312参数说明155.3.1 读写变量155.3.2 状态字155.3.3 控制字165.3.4 特殊DRIVECOM参数165.4 DRIVECOM流程175.5 M218Soft软件的配置185.6 M218软件编程语句介绍195.6.1 EXCHx指令205.6.2 %MSGx功能块205.7 程序的分步讲解215.7.1 一台PLC与一台变频器通讯215.7.2 一台PLC与多台变频器通讯236实验调试266.1 计算机和PLC连接266.2 交换数据表对照266.3 动态变量表的读和写276.4 ATV312常见通讯故障287系统扩展287.1 分配器模块和RJ45连接器288附件298.1 参考程序298.1.1 Port2口做通讯298.1.2 Port1口做通讯301. 实验简介PLC通过modbus监控变频器的运行是工业中较常见的应用,本文以施耐德M218 PLC与ATV312变频器为例,简要介绍PLC与变频器之间modbus串行通讯的过程,包括硬件接线、变频器参数设置、硬软件组态、上电调试等,实现在PLC上远程控制ATV312变频器的故障初始化,启动/停止,正转/反转,频率给定等。本文只介绍了PLC通过modbus通讯远程控制变频器,关于modbus通讯控制和端子控制混合使用的情况,以及其他施耐德PLC,如Premium,Quantum与ATV312的modbus串行通讯,将在本书的其他文章中介绍。2. 实验环境2.1硬件环境主要硬件如下:类型型号数量参考图片电源24V开关电源 1PLCM218TM218LDA40DRPHN1变频器ATV3121M218编程电缆TCSXCNAMUM3P1Modbus通讯电缆RJ45接头屏蔽双绞线12.2软件环境M218Soft3.5是施耐德电器支持M218 PLC的编程,调试和运行的工具软件。3硬件连接2435112345678CAN_HCAN_LCAN_GNDD1D0不连10V公共6TCSXCNAMUM3P M218编程电缆1265216521M218自带串口,COM2口3通信电缆,M218的COM2口连接到变频器的RJ45口4RJ45接头4ATV312变频器设置4.1操作说明ATV312的前面板说明如下:ATV312操作面板主要操作规则:旋转导航键对菜单进行浏览,不会对选定项进行存储;存储选定项,按导航(ENT)键,当存储数值时,显示器会闪烁。正常显示状态:无故障出现和无起动时,正常显示有如下几种:频率:SUP菜单中所选的参数的显示(缺省选项:加到电机上的输出频率)。在电流限制模式下,显示器会闪烁。init:初始化顺序rdY:变频器就绪dcb:直流注入制动正在进行nSt:自由停车FSt:快速停车tUn:正在进行自动整定故障显示状态:显示器闪烁指示出现的故障,如果接中文面板,请参阅ATV312编程手册中故障处理一节。任何初始显示状态下,均可以先按Mode键进入rEF菜单,然后旋转导航键找到需要设置菜单。4.2主要参数设置ATV312的主菜单如下,所有的参数均在主菜单的子目录里面进行设置。 4.2.1 恢复出厂设置ATV312上电后,如果用户对液晶显示未知,或者变频器设置未知,可以先恢复出厂设置。如果变频器已经设置过,且不需要恢复出厂设置,请跳过本小节,从4.2.2 电机参数开始进行参数的设置和检查。参数路径参数说明值功能描述drC-Fcs返回工厂设置InINo:功能未被激活;InI:恢复工厂设置,此功能被执行后,Fcs又自动回复到nO状态。恢复出厂设置操作如下:恢复出厂设置的电机,上电后显示ready,按照先后顺序,分别做如下设置。4.2.2 电机参数电机参数设定步骤如下:参数路径参数说明值功能描述drC-Frs电机额定频率50根据电机的铭牌设置,范围10-500HZdrC-nCr电机额定电流1.2根据电机的铭牌设置,范围0.25-1.5倍变频器额定电流drC-nSP电机额定速度1400根据电机的铭牌设置,范围0-32760RPM电机额定频率设定如下;本例中电机的额定频率为50,与出厂设置相同,所以采用出厂设置即可;读者根据实际情况按照电机铭牌上的额定频率进行设定。电机额定电流设置电机额定转速设置4.2.3 控制方式如果采用Modbus通讯控制启停及速度给定,步骤如下:参数路径参数说明值功能描述CTL-LAC*功能访问等级L3访问高级功能与混合控制模式的管理CTL-FR1*配置给定1ndb通过modbus总线给定CTL-CHCF*控制模式设置SIN如果LAC=L3可访问此参数:SIN组合,控制和频率给定由同一种方式设定;SEP分离,控制和频率给定由不同的方式设定Flt-OPL电机缺相故障No带小电机试验时,禁止因为输出电流过小出现的电机缺相故障;一般在变频器最小输出电流大于电机额定电流时需要禁止电机缺相故障。在任何应用状态下*为必设项。功能访问等级设置配置给定1控制模式设置:本例中控制和频率给定全部由通讯给定,将控制模式设置为SIN组合模式,与出厂设置相同;用户需根据实际情况进行模式选择。禁止电机缺相故障设置如下;当变频器最小输出电流大于电机额定电流时需要禁止电机缺相故障。4.2.4 通讯参数此设置和PLC中的Modbus参数设置保持一致,步骤如下:参数路径参数说明值功能描述CON-ADD从站地址2.范围1247CON-tbr通讯速率192004.8-4800bps;9.6-9600bps;19.2-19200CON-tfo通讯格式8n18O1:8个数据位,奇校验,1个停止位8E1:8个数据位,偶校验,1个停止位8n1:8个数据位,无校验,1个停止位8n2:8个数据位,无校验,2个停止位从站地址设置通讯速率设置通讯格式设置注意设置完毕后,关闭ATV312电源再重新上电,参数才生效! 5PLC编程5.1 Modbus协议简介Modbus协议是Modicon公司于1978年开发的一个用于PLC和编程器之间通讯的协议,1980年起,为众多制造商所采用而完全开放,成为“事实上的工业标准”。它实现控制器相互之间、控制器经由网络和其它设备之间的通信,支持传统的RS一232422 485设备和最新发展出来的以太网设备。该协议定义了一个控制器能识别的消息结构,描述了控制器如何请求访问其它设备, 如何回应来自其它设备的请求,以及怎样侦测错误并记录。它是一种应用层报文传输协议,与底层的物理接口及电气规范无关, 这是其目前生命力仍很强的原因。Modbus 协议是一个分级结构 (主从式) 异步串行通讯协议,为客户机/服务器方式,可使主站对一个或多个从站进行访问,主站和从站之间允许多点连接。 n 主站和从站可以有两种对话方式:查询方式:主站对一个从站进行对话并等待其回应广播方式:主站对所有从站进行对话 (不等待回应)n Modbus 的协议中有两种传输方式:RTU 方式格式:地址命令数据CRC 校检ASCII 方式格式:头码地址命令数据LRC 校检尾码说明:RTU (Remote Terminal Unit,远程终端单元) CRC (Cyclical Redundancy Check,循环冗余校验)LRC (Longitudinal Redundancy Check,纵向冗余校验)5.2 交换数据表M218作为主站进行Modbus通信时,必须编程通信程序,而程序的编写是通过填写字表的方式进行的,以下就Modbus字表进行详细阐述。另外,M218作为Modbus从站时,是不需要编程的,只需要配置通信参数即可。读N个字MW(功能码03)表索引高字节低字节控制表001(发送/接收)06(发送长度)*103(接收偏移)00(发送偏移)发送表2从站地址(1247)03(请求码)3读取的第一个字的地址4读取的字数N接收表5从站地址(1247)03(请求码)600(接收偏移值)2N 所读的值占用的字节数7读取的第一个字8读取的第二个字N6读取的第N个字*在应答后,长度会变为接收到的字节长度写N个字MW(功能码16)表索引高字节低字节控制表001(发送/接收)8(2N)发送长度100(接收偏移)07(发送偏移)发送表2从站地址(1247)16(请求码16进制10)3所写第一个字地址4所写字的个数N500(发送偏移值)2N所写字节数6所写的第一个字7所写的第二个字N5所写第N个字接收表N6从站地址(1247)16(请求码)N7所写第一个字地址N8所写的字数有多条EXCH指令时,要使用分时控制5.3 ATV312参数说明5.3.1 读写变量读出变量地址代码说明3203FRH给定频率3202RFR电机输出频率3207ULN线电压7121LFT上一次故障3201ETADRIVECOM状态字写入变量 地址代码说明8501CMDDRIVECOM命令字8502LFR在线给定频率8504CMI内部控制寄存器11920RPIPI调节器内部设定点9623UFRIR补偿5.3.2状态字状态字ETAD(W8603)或CMD(W3201)Bit0准备接通Bit1接通Bit2操作被允许Bit3故障Bit4电压无效Bit5快速制动Bit6接通被禁止Bit7报警Bit80Bit9线性控制Bit10达到给定值Bit11超过给定值Bit120Bit130Bit14按STOP键停止Bit15旋转方向5.3.3控制字控制字ETAD(W8603)或CMD(W3201)Bit0接通Bit1电压无效Bit2快速制动Bit3允许操作Bit40Bit50Bit60Bit7故障复位Bit80Bit90Bit100Bit11正传/反转Bit12斜坡制动Bit13注入制动Bit14快速制动Bit1505.3.4 特殊DRIVECOM参数特殊”DRIVECOM”参数地址代码说明8606ERRD故障代码(写保护)8601CMDD命令字8603ETAD状态字(写保护)8602LFRD给定转速8605FRHD带符号输出转速(写保护)8604RFRD无符号输出转速(写保护)5.4 DRIVECOM流程上电是故障?ETA=16#*8ATV故障功能失常否CMD=16#0080故障消失,复位ETA=16#*40ATV锁定接通禁止CMD=16#0000禁止电压或CMD=16#0000禁止电压CMD=16#0000禁止电压CMD=16#0006停车电机停车修改配置参数或或或电机停车修改配置参数CMD=16#0000禁止电压终端上STOP键CMD=16#0002快速停车或或终端上STOP键电机停车修改配置参数nStETA=16#*21ATV等待禁止电压rdY,dCbETA=16#*07紧急停车快速停车激活CMD=16#0007接通CMD=16#0006停车CMD=16#0006停车nStETA=16#*23ATV就绪接通CMD=16#*F激活运行CMD=16#*F激活运行CMD=16#0007禁止运行rUn,rdYETA=16#*27ATV运行运行激活CMD=16#000B快速停车ATV312的DRIVERCOM流程5.5 M218SoMachineV3.0软件的配置步骤动作&示例1新建一个工程2写入项目名称3先点击程序,然后在项目名M218+ATV312 Modbus点击右键,在弹出的快捷菜单中选择添加设备。4选择CPU型号要和工程使用的一致,否则不能下载!5双击串行链路口2设置串口通信数据,配置如下要和变频器一致6配置串口2为主站5.6 M218软件编程语句介绍一个M218控制器配置后可与Modbus从设备通信,或以字符模式(ASCII)发送和/或接收消息。Somachine为这些通信提供了下列功能: ADDM用于串口的地址转换 Read_VAR读取从站数据 Write_VAR写入从站数据。5.6.1 ADDM指令说明: 将字符串地址转换为ADDRESS类型的目标地址操作符ADDM功能描述将字符串地址转换为ADDRESS类型的目标地址图形表示形式管脚定义:ASCII码串行通讯输入/输出类型注释AddrTableADDRESS这是由功能块填充的 ADDRESS 结构。输入类型注释ExecuteBOOL在上升沿执行功能AddrSTRING要转换为 ADDRESS 类型的 STRING 类地址(参见下面的详细信息)输出类型注释DoneBOOL功能成功完成后,Done 设置为 TRUE。注意: 当使用 Abort 输入中止操作后,Done 不设置为 1(仅限 Aborted)。ErrorBOOL当功能由于检测到错误而停止时,Error 设置为 TRUE。当检测到错误时,CommError 和 OperError 包含有关检测到的错误的信息。CommErrorBYTECommError 包含通讯错误代码。注意: Execute 输入上的上升沿执行转换,并返回 AddrTable 的立即更新。但是,当检测到错误时(即当 Addr 字符串不正确时),AddrTable 保持为上一个值。功能块需要上升沿才能进行初始化。功能块需要首先将 Execute 输入视为 False,才能检测后续的上升沿。警告意外的设备操作 请务必首先通过将功能块的 Execute 输入设为 FALSE 来调用功能块,这样它便可以检测后续的上升沿。 如果不遵守这些说明,将会导致死亡、严重伤害或设备损坏。 Modbus 串行地址格式的 Addr STRING 对于 Modbus 串行寻址,请使用通讯端口和目标从站地址(0 到247),之间用句点分隔: . 例如,使用以下语法通过串行线路 2 上向从站8 发送消息: 2.8 ADDM 功能使用以下这些值填充 AddrTable 输入/输出: 字段 类型 值 示例 _Type BYTE 保留 未使用 _CliID BYTE 保留 未使用 Rack BYTE 机架编号(始终为 0) 0 Module BYTE 模块编号(始终为 0) 0 Link LinkNumber 2 _ProtId BYTE 0(对于 Modbus) 0 AddrLen BYTE 1 1 UnitId BYTE 8 AddrExt ADDR_EXT 未使用 。5.6.2 READ_VAR:从 Modbus 设备读取数据 功能描述 READ_VAR 功能块从采用 Modbus 协议的外部设备中读取数据。 图形表示形式 特定于 READ_VAR 的参数介绍 输入 类型 注释 ObjType ObjectType ObjType 是要读取的对象的类型(MW、I、IW 和 Q)。 FirstObj DINT FirstObj 为要读取的第一个对象的索引。 Quantity UINT Quantity 为要读取的对象的数量: 1-125: 寄存器(MW 和 IW 类型) 1-2000: 位(I 和 Q 类型) Buffer POINTER TO BYTE Buffer 为将在其中存储对象值的缓冲器的地址。ADR 标准功能是定义关联指针的必用功能。(请参见下面的示例。)缓冲器是一个表,用于接收在设备中读取的值。例如,4 个寄存器的读取存储在包含 4个字的表中,而 32位的读取则需要包含 2个字或 4个字节的表,其中每个位都设置为远程设备的对应值。 5.6.3 WRITE_VAR:向 Modbus 设备写入数据 功能描述 WRITE_VAR 功能块将对象写入采用 Modbus 协议的外部设备中。 图形表示形式 特定于 WRITE_VAR 的参数介绍 输入 类型 注释 ObjType ObjectType ObjType 介绍要写入的对象的类型(MW、Q)。 FirstObj DINT FirstObj 为要写入的第一个对象的索引。 Quantity UINT Quantity 为要读取的对象数: 1-123: 寄存器(MW 类型) 1-1968: 位(Q 类型) Buffer POINTER TO BYTE Buffer 为将在其中存储对象值的缓冲器的地址。ADR 标准功能是定义关联指针的必用功能。缓冲器是一个表,用于接收必须在设备中写入的值。例如,4 个寄存器的写入值存储在包含 4个字的表中,而 32位的写入值则需要包含 2个字或 4个字节的表,其中每个位都设置为对应值。 5.7 程序的分步讲解5.7.1一台PLC与一台变频器通讯程序首先使用Blink模块建立一个100ms为周期的方波,然后使用ADDM功能块实现Somachine串口的设置,ATV312的Modbus从站地址为2。然后使用Read_Var和Write_Var实现对ATV312的读和写,需要注意的是Write_Var和Read_Var功能块不能同时调用,必须分时调用,在程序中在Read_Var完成后再调用Write_Var功能块,在程序的最后,编写了ATV312、12通用的Drive_com流程功能块,此功能块包含了急停和故障复位的功能。5.7.2 Schneider_Drivecom 功能块的编写功能块输入输出变量说明。VAR_IN_OUTControlWord: UINT;END_VARVAR_OUTPUTDone:BOOL;fault: BOOL;END_VARVARuiStep: UINT:=10;status:UINT;estop: BOOL;END_VAR/快停信号为常闭信号,正常为1 /only for ATV312/12/访问等级为L3级,LAC=L3,给定通道为ModbusFr1=ndb,Modbus通讯地址add=2,/Modbus通讯波特率bdr=19200,数据格式8E1,输出缺相不检查OPL=no程序体编写说明:(*取状态字的低字节做流程判断*)status:=Statusword AND 16#6F;/根据状态字的状态写控制字(*使能*)IF (status=16#40) THENControlWord:= 6;END_IF(*切换到准备好*)IF status=16#21 THENControlWord:= 7;END_IF(*切换到 Opetation enabled-运行*)/正转IF (status= 16#23 OR status= 16#27) AND Run_forward AND NOT Run_reverse AND QiuckStop AND NOT fault THEN ControlWord:= 16#000F;/ run forword ELSE IF (status= 16#23 OR status= 16#27) AND NOT Run_forward AND NOT Run_reverse AND QiuckStop AND NOT fault THEN ControlWord:= 16#100F;/stop END_IFEND_IF/反转IF (status= 16#23 OR status= 16#27) AND Run_reverse AND NOT Run_forward AND QiuckStop AND NOT fault THENControlWord:= 16#080F;/run reverse ELSE IF (status= 16#23 OR status= 16#27) AND NOT Run_forward AND NOT Run_reverse AND QiuckStop AND NOT faultTHEN ControlWord:= 16#100F;/stopEND_IFEND_IF/done的处理IF status=16#27 THENdone:=TRUE;ELSEdone:=FALSE;END_IF(*急停*)IF NOT QiuckStop THENControlWord:= 16#2;END_IF/快停后对控制字的处理IF status=16#7 AND QiuckStop THENControlWord:=0;/quick stopestop:=1;ELSEestop:=0;END_IF/故障状态判断IF (Statusword AND 16#F)=16#8 THENfault:=1;ELSE fault:=0;END_IF(*故障复位*)/复位时将控制字第七位置1,上升沿有效IF Reset THENControlWord.7:=1;ELSEControlWord.7:=0;END_IF6实验调试注意本实验中变频器带小电机驱动风扇进行测试,因此负载使用安全。在实际应用过程中,在PLC进行通讯测试之前,请用户确保:1 如果带有电机负载和机械负载,确保电机的启动和运行不会对实际生产造成影响;否则请降低测试频率或断开负载。2 如果没有电机负载或负载较小,确保电机缺相故障已经被禁止。电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源汽车车路协同通信对充电桩行业政策环境的解读报告
- 公路货运行业数字化转型与智能交通系统融合报告001
- 绿色制造策略研究
- 关节置换手术护理配合
- 2025年垃圾处理场填埋气发电与废弃物资源化利用报告
- 农业环保技术应用及推广协议
- 企业内训管理工具与模板
- 茶与咖啡融合2025年新兴市场拓展研究报告
- 环境治理工作实施保障承诺函(8篇)
- 2025年高速钢丝编织机行业研究报告及未来发展趋势预测
- 发展汉语-初级读写-第一课-你好
- 韩国《寄生虫》电影鉴赏解读
- 人教版四年级数学上册《课堂作业设计》全套
- TTT系列课程-结构化思考力
- Cpk 计算标准模板
- 封起DE日子博文 2006
- 锂离子电池生产安全讲座
- 眼科学-眼科检查(课件)
- 产品碳足迹课件
- 部编人教版六年级道德与法治上册全册教学课件
- 美国地图高清中文版
评论
0/150
提交评论