施耐德PLC通讯系统讲解
- 格式:ppt
- 大小:836.00 KB
- 文档页数:36
Quantum PLC 使用Modbus 通讯调试硬件注意事项:1,Modbus 为PLC上的RJ45端口。
其中1和6脚针需短接,2和3脚针需短接,即使用直通网线时,白橙和绿线短接,作为RS485 B端;橙线和白绿短接,作为RS485 A端。
2,准备一个USB转RS485的转换器,将线连接起来。
以方便使用模拟从站或读取报文使用。
软件设置:1,要清楚CPU里Modbus Port的设置是将CPU作为从站时使用,作为主站时不用设置。
2,使用XXMIT功能块读写参数,建立通讯连接。
如下图所示弄清楚每个参数的含义是调试能否成功的关键。
1)START:触发功能块。
当调试时,可以给定一个常通信号,作为调试用。
当读取多个从站时,可以给定一个一定周期的脉冲信号作为触发功能块信号。
2)COMMAND:功能命令,此命令用于选择XXMIT的各种功能,如选择通讯方式是RS485还是RS232,RTU还是ASCII方式。
具体需查询XXMIT参数功能表。
本列中使用16#2100,转换成二进制,数据的第8位和13位为1,即选择RS485 的RTU通讯方式。
4)MSGOUT:此数据类型为word类型的一个9个数字的数组,如图所示:MSGOUT[1]:功能命令,选择读/写线圈/寄存器。
如3为读多个寄存器状态。
MSGOUT[2]:要读或者写的变量的个数,本列中输入16#A即读取10个变量MSGOUT[3]:从站地址。
要读取的从站设备的地址,需和从站的设置地址一致。
MSGOUT[4]:从站寄存器的起始地址。
注意,寄存器的最小地址为1,不能为0;MSGOUT[5]:主站将要映射的变量的起始地址。
如输入5,则起始地址为%MW5。
其他参数不考虑。
5),MSGLEN:5或6.一般是5。
想了解具体含义,查找相关手册。
6),PORT:端口号一般为0或者1。
根据主站而定。
7),关于波特率、停止位、数据位、奇偶校验,需和从站上的设置完全一致。
否则无法建立通讯连接。
施耐德Modicon M340 PLC 通讯问题1、主站与从站不通讯能够导致此问题出现的可能是:(1)主站与从站地址不一致(2)主站与从站传输速度波特率不一致(3)从站的参数设置调节不完善(4)从站的参数设置调节后没有断电从新启动方法:◆主站波特率参数设置鼠标双击下图箭头所指的“CANopen”上面两步完成主站波特率参数设置◆从站波特率参数设置与CANopen地址设定(1)变频器设定参照变频器说明书进行设定,设定完成后需要断电从新启动设定值才生效。
例:ATV 31H 异步电机变频器主要参数设定(参照ATV 31H说明书)。
◆电机参数的设定---------------------说明书中第26页◆功能访问等级---------“L3”--------说明书中第46页◆配置给定1------------“CRn”-------说明书中第46页◆混合模式-------------“SIN”-------说明书中第48页◆电机缺相故障配置-----“NO” -------说明书中第89页◆ CANopen:变频器地址---“”-----------说明书中第93页◆ CANopen:传输速度------“”----------说明书中第93页注:◇“CANopen:变频器地址”值设定必须与从站硬件组态保持一致,如图(26)所示此时CANopen:变频器地址就应该设定为“2”◇“CANopen:传输速度”值设定必须与图(25)“传输速度”保持一致(2)CANopen模块设置见上图CANopen模块箭头所示,上面两个旋钮“Ten”“Zero”为地址设定,该岛在从站的地址小于10时“Ten”也必须调到“0”位置,否则即为地址错误设定不能通讯连接。
下面的“Autobaut”旋钮为波特率设定,其各档位对应的波特率依据该模块侧面的参数说明。
调节该模块各档位时一定要在断电模式下进行,否则设置是无效的。
2、电脑与PLC不通讯能够导致此问题出现的可能是:(1)通讯方式与“设置地址”不一致对应当前的通讯模式“MODBUS”或“USB”在上图的“设置地址”正确选择对应的地址模式。
施耐德Micro PLC连接说明一、Micro PLC采用Unitelway协议进行联机编程:1.参数设置与通讯配置检查:用专用编程电缆“TSXPCX3030_C (USB接口,有专门的驱动)”通过调试机与CPU上的TER 口进行连接,连接好后,如下图:点击菜单栏里的“PLC”菜单,选择“Define PLC Address…”弹出如下对话框:如上图圈1所示,通讯驱动选择“UNTLW01”,如圈2所示,地址填写为“SYS”(系统默认的),点击圈3切换到选项卡“Options”如下图:点击上图圈1中的按钮,弹出如下对话框:”,对话框变成下图:确保上图圈1中的版本号在V1.10 以上(包含1.10),若低于1.10请另外安装高版本的UNITELWAY驱动,否则有可能连不上,点击上图的圈2“Configuration”按钮,弹出串口设置窗口如下:选中上图红色圈圈标出的第一行,再单击“Edit”标签框,可弹出下图:在上图圈1所示的下拉框中选择串口号,如编程电缆已接到正确的USB接口且驱动安装正确,则在此可找到一个串口号,其后跟有(TSXPCX3030 Cable),如上图一样,选择好后点圈2“Line Parameters”选项卡,根据PLC程序里设定的串口通讯参数(参见下面的联机设置章节),并且要保证调试电脑为通讯电缆分配的串口通讯参数也一致(可在桌面右击“我的电脑”-选择“属性”-选择“硬件”选项卡-选择“设备管理器”查看分配的串口通讯参数),修改完后一路点“OK”、“确定”保存刚才的修改~~~2.联机设置:点击上图圈1打开程序的硬件配置,在打开的硬件配置里双击圈2“comm”通讯口进行通讯参数设置,弹出如下面板:如上图圈1所示下拉框里选择CHANNEL0通道(CHANNEL1通道为通讯卡配置),圈2、圈3内容保持与上图一致,圈4设置站号,圈5设置串口通讯参数(与上述环节设置的串口参数保持一致),最后点击圈6中的确认修改按钮保存修改并关闭此对话框(关闭后还需点圈6所示的确认按钮再次保存)。
PremiumPLC连接说明一、PremiumPLC常见的两种编程方式通讯设置:1.第一种是采用UNTLW01协议进行联机编程:参数设置与通讯配置检查:用Premium的专用编程电缆“TSXPCX3030_C (USB接口,有专门的驱动)”通过调试机与CPU上的TER口进行连接,连接好后,点击菜单栏里的“PLC(P)”菜单,选择“设置地址(A)…”弹出如下对话框:正常时应如上图圈1所示,编程器为PLC模式,如若非PLC模式而是仿真器模式,则需在上图圈3中切换一下即可,在PLC模式下时“地址(A)”里填写”SYS”,“介质(M)”选择“UNTLW01”,点击圈2所示的“通讯参数”按钮,弹出下列对话框:点击上图圈中的“驱动设置”按钮,进入如下画面:如圈2中下拉框选择“UNITELWAY”,再选择第二个选项卡(圈1)“UNITELWAY Driver”,弹出如下画面:确保上图圈1中的版本号在V1.10 以上(包含1.10),若低于1.10请另外安装高版本的UNITELWAY驱动,否则有可能连不上,点击上图的圈2“Configuration”按钮,弹出串口设置窗口如下:选中上图红色圈圈标出的第一行,再单击“Edit”标签框,可弹出下图:在上图圈1所示的下拉框中选择串口号,如编程电缆已接到正确的USB接口且驱动安装正确,则在此可找到一个串口号,其后跟有(TSXPCX3030 Cable),如上图一样,选择好后点圈2“Line Parameters”选项卡,根据PLC程序里设定的串口通讯参数(参看“如何查看PLC程序内部通讯参数”),并且要保证调试电脑为通讯电缆分配的串口通讯参数也一致(可在桌面右击“我的电脑”-选择“属性”-选择“硬件”选项卡-选择“设备管理器”查看分配的串口通讯参数),修改完后一路点“OK”、“确定”保存刚才的修改~~~如何查看PLC程序内部通讯参数:双击上图圈1所示通讯口,弹出如下对话框(下图圈2所示即为程序内部通讯设定的参数):2.第二种是采用TCPIP协议进行联机编程:参数设置与通讯配置检查:采用以太网编程分两种情况,一种是初次下载(CPU内无任何配置),另一种是CPU内已有程序配置(1)初次下载(CPU内无配置),此时CPU的以太网地址为出厂默认设值:默认IP地址的格式为085.016.xx.yy,xx,yy为MAC地址的最后两组数据转化成十进制。
施耐德PLC同组态软件通讯配置目录1PLC与Intouch软件通讯设置 (2)1.1 利用Modbus TCP/IP协议的通讯设置 (2)1.1.1 IO Server软件配置 (2)1.1.2 软件编程设置 (4)1.1.3 IO Server状态监视 (6)1.2 利用Modbus Plus协议的通讯设置 (6)1.2.1 IO Server软件设置 (6)1.2.2 软件编程设置 (7)1.3 利用Modbus协议的通讯设置 (7)1.3.1 IO Server软件设置 (7)1.3.2 软件编程设置 (8)1.4 注意 (8)2PLC与组态王软件通讯设置 (9)2.1 利用Modbus TCP/IP协议的通讯设置 (9)2.1.1 工程浏览器中通讯设置(即与PLC通讯时的相关设置) (9) 2.1.2 软件编程设置 (13)2.1.3 数据状态监视 (17)2.2 利用Modbus Plus协议的通讯设置 (18)2.3 利用Modbus协议的通讯设置 (18)2.4 利用Unitelway协议的通讯设置 (19)3PLC与iFIX软件通讯设置 (21)3.1 利用Modbus TCP/IP协议的通讯设置 (21)3.1.1 系统配置 (21)3.1.2 数据库标签定义 (26)3.1.3 软件编程 (28)3.2 利用Modbus协议的通讯设置 (30)4通讯注意事项 (31)×××××××××××××××××××××××××××××××1PLC与Intouch软件通讯设置Intouch软件中与施耐德PLC相关的驱动只有三种:Modbus TCP/IP、Modbus Plus、Modbus。
施耐德PLC MODBUS TCP说明1、通讯接口:以太网TCP\IP(MODBUS\TCP协议),MCU为客户端,主动连接PLC的502端口,当连接成功后,MCU定时轮循PLC的MW及M区,取得遥测、遥信数据,还可以把转发的YC、YX数据写到PLC内,可供PLC使用或者供HMI读(实现HMI上显示MCU上的其它装置上的数据)。
功能说明:操作员站具有遥信、遥测、总召、遥控(直控、选控)、遥调、校时、电度功能另外还可把其它装置的遥信、遥测数据转发给PLC以实现在HMI上显示其它装置的数据;无工程师站。
2、PLC寄存器说明:运行ModbusTCPMCU配置.exe,设置IP地址,连接,然后根据工程进行各项配置,设置即可。
注:每个MCU只能连1个施耐德PLC装置。
注:PLC各个区划分情况如下(以下寄存器地址以1为起始地址,如以0为起始地址,以下寄存器地址应均减1):遥测:%MW881~1200,每个寄存器存放一个量。
遥信:从%M1-4096,注意,DO紧跟在DI之后,具体DI、DO个数根据现场需要和PLC程序可用ModbusTCPMCU配置.exe进行设置。
电度:%MW1801~%MW1856,最多只能有56个寄存器(28个电度,两个寄存器表示一个电度)。
遥调:%MW736(点号)%MW737、%MW738(数据,标准float格式)直控:% MW757(点号)%MW758(命令,合(2)/分(1))选控:%MW768(点号)%MW769(命令,合(0xAA)/分(0x55))%MW770(返校标志,允许(0xF0)/不允许(0x0F))%MW771(命令,执行(0x80)/撤消(0xA0))校时:%MW730~%MW735%MW730、%MW731 0x0001%MW732 月年%MW733 时分%MW734 秒分%MW735 空(0)星期(0)时间为BCD码格式。
遥测转发写地址:%MW1001~%MW1065(可通过配置软件任意设定)遥信转发写地址:%MW1070~%MW1582(可通过配置软件任意设定)如查询从%MW881寄存器开始的遥测量,则其下发报文的起始地址应为:0x0370。
目录1PLC与Intouch软件通讯设置 (2)1.1 利用Modbus TCP/IP协议的通讯设置 (2)1.1.1 IO Server软件配置 (2)1.1.2 软件编程设置 (4)1.1.3 IO Server状态监视 (6)1.2 利用Modbus Plus协议的通讯设置 (6)1.2.1 IO Server软件设置 (6)1.2.2 软件编程设置 (7)1.3 利用Modbus协议的通讯设置 (7)1.3.1 IO Server软件设置 (7)1.3.2 软件编程设置 (8)1.4 注意 (8)2PLC与组态王软件通讯设置 (9)2.1 利用Modbus TCP/IP协议的通讯设置 (9)2.1.1 工程浏览器中通讯设置(即与PLC通讯时的相关设置) (9)2.1.2 软件编程设置 (13)2.1.3 数据状态监视 (17)2.2 利用Modbus Plus协议的通讯设置 (18)2.3 利用Modbus协议的通讯设置 (18)2.4 利用Unitelway协议的通讯设置 (19)3PLC与iFIX软件通讯设置 (21)3.1 利用Modbus TCP/IP协议的通讯设置 (21)3.1.1 系统配置 (21)3.1.2 数据库标签定义 (26)3.1.3 软件编程 (28)3.2 利用Modbus协议的通讯设置 (30)4通讯注意事项 (31)×××××××××××××××××××××××××××××××1PLC与Intouch软件通讯设置Intouch软件中与施耐德PLC相关的驱动只有三种:Modbus TCP/IP、Modbus Plus、Modbus。
施耐德PLC 电脑编程示例说明一、应用程序1. 目录:\Projects_delphitcpip_thread\,2. 画面:3. 按钮功能说明:1) read按钮:读PLC中address地址的值。
2) write按钮:将画面中id值写入到PLC中的address地址里。
3) thread start按钮:启动PLC线程。
当wr_mk=0时,将address地址作为起始地址,读取100个长度的地址值;当wr_mk>0时,将画面中id值写入到PLC中的地址里,address作为起始地址。
4) batch write按钮:批量写入。
no of address为plc地址个数,address为PLC起始地址,number in every address为需要写入到plc地址中的值,可输入批量进行写入。
二、写PLC说明(16 (10 Hex) Preset Multiple Registers)1. 画面:2. 部分源码StaNo:=strtoint(edit2.Text)-1; //PLC地址IDNo:= strtoint(edit3.Text); //ID值stnaddr:=inttohex(StaNo,4); //将地址转换为16进制,4位bte[1]:=hextodec(copy(stnaddr,1,2)); //取地址高2位bte[2]:=hextodec(copy(stnaddr,3,2)); //取地址低2位idstr:=inttohex(idno,4); //将ID转换为16进制,4位bte[3]:=hextodec(copy(idstr,1,2)); //取ID高2位bte[4]:=hextodec(copy(idstr,3,2)); //取ID低2位TcpClient1.Active:=true;SendString :=#0+#1+#0+#0+#0+#$9+#$FF+#$10+chr(bte[1])+chr(bte[2])+#0+#1+#2+chr(bte[3])+chr(bte[4]); TcpClient1.Sendln(SendString) ;3. 源码说明得到输入的地址和id值,并转换为4位的16进制数,然后根据PLC定义的发送字符串的格式,发送写PLC字符串,以写入到PLC中。
施耐德PLC 通讯功能块ADDM ,READ
摘要: 施耐德PLC 通讯的套路就是三个功能块,ADDM ,READ_VAR,WRITE_VAR,下面分别介绍1、ADDMADDM 功能块是地址转换,就是把PLC 的物理地址转换成PLC 可识别的地址类型,这句话比较拗口,通俗讲,就是把字符串型变量,转换成AD ...
施耐德plc 通讯的套路就是三个功能块,
ADDM ,READ_VAR,WRITE_VAR,下面分别介绍
1、ADDM
ADDM 功能块是地址转换,就是把PLC 的物理地址转换成PLC 可识别的地址类型,这句话比较拗口,通俗讲,就是把字符串型变量,转换成ADDRESS 型变量,我们还是看例子
图一ADDM 功能块
如图一,图中红色圆圈内就是一个字符串型变量‘2,1’第一个数字2 表示PLC 的串口2,第二个数字1 表示读取的从站地址,也就是变频器的地址,而此功能块就是把此地址转换成ADDRESS 型变量A1_Add。
也许你会有疑问,为什幺这幺做?我也不知道,此款PLC 就是这样,这就是它的套路,对于此种套路,我们只能牢记。
在其他PLC 特别是日系,一般是通过设置参数的方式实现,也有使用指令的。
还有一点,黄色荧光笔部分的三个黑点,是表示电路相通,而它正是把转。
施耐德PLC 电脑编程示例说明一、应用程序1. 目录:\Projects_delphitcpip_thread\,2. 画面:3. 按钮功能说明:1) read按钮:读PLC中address地址的值。
2) write按钮:将画面中id值写入到PLC中的address地址里。
3) thread start按钮:启动PLC线程。
当wr_mk=0时,将address地址作为起始地址,读取100个长度的地址值;当wr_mk>0时,将画面中id值写入到PLC中的地址里,address作为起始地址。
4) batch write按钮:批量写入。
no of address为plc地址个数,address为PLC起始地址,number in every address为需要写入到plc地址中的值,可输入批量进行写入。
二、写PLC说明(16 (10 Hex) Preset Multiple Registers)1. 画面:2. 部分源码StaNo:=strtoint(edit2.Text)-1; //PLC地址IDNo:= strtoint(edit3.Text); //ID值stnaddr:=inttohex(StaNo,4); //将地址转换为16进制,4位bte[1]:=hextodec(copy(stnaddr,1,2)); //取地址高2位bte[2]:=hextodec(copy(stnaddr,3,2)); //取地址低2位idstr:=inttohex(idno,4); //将ID转换为16进制,4位bte[3]:=hextodec(copy(idstr,1,2)); //取ID高2位bte[4]:=hextodec(copy(idstr,3,2)); //取ID低2位TcpClient1.Active:=true;SendString :=#0+#1+#0+#0+#0+#$9+#$FF+#$10+chr(bte[1])+chr(bte[2])+#0+#1+#2+chr(bte[3])+chr(bte[4]); TcpClient1.Sendln(SendString) ;3. 源码说明得到输入的地址和id值,并转换为4位的16进制数,然后根据PLC定义的发送字符串的格式,发送写PLC字符串,以写入到PLC中。