文档库 最新最全的文档下载
当前位置:文档库 › 多台台达PLC-RS485通信说明

多台台达PLC-RS485通信说明

多台台达PLC-RS485通信说明
多台台达PLC-RS485通信说明

多台台达PLC实现远距离通信在生产过程中,往往会出现同一产线功能的设备,安装位置距离比较远。若是都从一个系统配置布线,将会大大的提升设备成本,不利于产品优势竞争。

对于设备控制要求较高的场合,可以使用西门子300+西门子150或者1200等主从站模式,进行产线控制,内部集成了多种总线通信协议,使用起来方便、快捷。对于考虑到使用成本场合,可以使用性价比较高的系统,这里将介绍两台台达PLC使用RS485远程通信。

硬件要求:

硬件连接:PLC1作为主站,PLC1的COM2口的D+、D-与PLC2的COM2口D+、D-使用屏蔽线对应连接,距离超过100M考虑将信号加强,理论通信距离是1500m

PLC1作为主站:COM2设置程序:

主站发信号给从站

读取从站的信号

从站PLC程序

从站采集主站信号

以上的程序就是主从站信号交换了,最多可以实现32台数据交换,站与站之间的通信范围如下表:

台达PLC通讯协议

台达PLC通讯协议V1.12 通讯接口RS-232C RS-485 2. 通讯协议ASCII 模式, 9600(传输速率), 偶同位, 1 个起始位, 1 个停止位 9600,7,e,1 3. 通讯资料格式 STX 起始字符‘:’(3AH) ADR 1 通讯地址: ADR 0 8-bit 地址包含了2 个ASCII 码 CMD 1 命令码: CMD 0 8-bit 命令包含了2 个ASCII 码 DATA(0)资料内容: DATA(1)n个8-bit 资料包含了2n 个ASCII 码 ………. n <=74 个ASCII 码 DATA(n-1) LRC CHK 1 侦误值: LRC CHK 0 8-bit 侦误值包含了2 个ASCII 码 END 1 结束字符: END 0 END 1 = CR(0DH),END 0 = LF(0AH) ADR(通讯地址) PLC 通讯地址出厂设定值为0x01,因此(ADR 1, ADR 0)=’0’,’1’ ’0’=30H, ‘1’= 31H LRC CHK(侦误值)CMD(命令指令)及DATA(数据字符) LRC CHK(侦误值) 侦错方式采用LRC(Longitudinal Redundancy Check)侦误值。LRC 侦误值乃是将ADR1 至最后

一个资料内容加总,将该值取2 补码(2’s Compl ement)得到之结果即为LRC 侦误值。附录-3 例: STX ‘:’ ADR 1 ‘0’ ADR 0 ‘1’ CMD 1 ‘0’ CMD 0 ‘3’ 起始资料地址‘0’ ‘4’ ‘0’ ‘1’ 资料数‘0’ ‘0’ ‘0’ ‘1’ LRC CHK 1 ‘F’ LRC CHK 0 ‘6’ END 1 CR END 0 LF 01H+03H+04H+01H+00+01H = 0AH 0AH 的2 补码为F6H 注1 2 补码的求法:(1 补码再加1) 0A(H)= 0000 1010(B)先取1 补码(将b0~b7 反相)得1111 0101(B),再加1 为1111 0110

stm32串口通信协议简单教程

STM32串口通信协议简单教程 一、修改串口UART1IT工程模版 用Keil MDK打开短学期资料中的工程示例→串口→UART1IT示例,查看main.c代码如图1所示: 图1 UART1IT串口示例代码 打开文件列表中的stm32f10x_it.c文件,找到UART1中断函数如图2所示代码: 图2 UART1串口中断函数

为方便起见,将整个USART1_IRQHandler函数剪切到main.c文件末尾如图3所示。并删除stm32f10x_it.c文件中的sp变量定义,如图4所示。 图3 移动串口中断函数 图4 去除stm32f10x_it.c中的sp变量声明 重新编译一次工程,看看修改是否出现错误,编译失败出现错误则需仔细检查刚才的修改是否正确。编译成功,下载工程到实验板,关闭下载程序。将实验板BOOT跳线至正常运行模式并重新上电。打开串口调试助手,选择实验板USB虚拟串口并打开,如图5所示。可以看到图中窗口不停的接收到“Hello world!”这样的字符串数据。在发送区域输入字符1,点击发送按钮,可以观察到实验板的流水灯速度变快了很多。

在main函数之前,添加按键扫描代码如图6所示,然后在main函数中,添加sendstr 数组,key和oldkey两个整数变量,如图7所示。

图6 添加按键扫描函数 图7 添加相关变量 接下来,在main函数的while主循环中,添加发送按键状态代码如图8所示。同时,将main函数中的Hello world字符串发送行注释掉,如图9所示。为使按键响应灵敏,可以将main.c文件开头的sp变量初始值由100改为10。 注意,资料包里面的串口调试助手UartAssit软件容易造成虚拟串口占用,甚至使系统崩溃。考虑到使用方便,推荐使用sscom42软件。这里给大家一个下载地址https://www.wendangku.net/doc/3111154444.html,/soft/53912.html

台达PLC串行通讯及应用案例

浅析台达PLC串行通讯及应用案例 摘要:本文介绍串行通讯的基本概念,台达PLC的串行通迅功能及在项目中实际应用案例,主要讨论如何使用台达PLC完善的通讯功能完成各种实际应用,体现了台达PLC强大的 通讯功能及其便利性。 关键词:串行通讯、PLC、RS485、MODBUS协议、变频器、自由口通讯、EASY LINK 一、前言 随着计算器技术的发展,通讯传输在工业自动化控制领域得到越来越广泛的应用,由于串行通讯方式具有使用线路少、成本低、简单易用,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。现在各PLC生产厂家都极其重视通讯在PLC推广中的应用,并且各具有优势特点,合理利用通讯功能将极大的降低控制成本,提高产品竞争力。 二、串行通讯简介 通讯即是不同的设备通过线路互相交换数据,其主要目的在于将数据从某端传送到另一端,实现数据的交换。通常有并行和串行两种方式,由于并行传输方式在数据电压传送的过程中容易因线路的因素而使得电压准位发生变化(衰减、线路互相干扰),而串行通讯方式则能很好的解决这些问题,因此在工业应用中绝大多数使用串行通讯。 串行通讯的接口方式分为RS-232和RS-485两种,下面主要介绍两种方式的一些特点: 1、RS-232 (1)RS-232-C接口连接器一般使用型号为DB-9的9芯插头座,只需三条接口线,即“发送数据”、“接收数据”和“信号地”即可传输数据,其9支脚位的定义如下: (2)在RS232的规范中,电压在+3V---+15V(一般使用+6V)之间称为“0”或“ON”;电压在-3V----15V(一般使用-6V)之间称为“1”或“OFF”;计算机上的RS-232“高电位”约9V,而“低电位”则约-9V。 (3)RS-232为全双工工作模式,其讯号准位是参考地线而得,分别作为数据的传送和接收;实际应用中其传输距离可以达到15米。只具有单站功能,即一对一通讯。 2、RS485 (1)采用正负两根信号线作为传输线路。 (2)RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。

串口通讯—通信协议

串口通讯—通信协议 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。 目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。 一、物理接口标准 1.串行通信接口的基本任务 (1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。 (2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。 (3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。 (4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。 (5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。 (6)提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线。这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制。 2、串行通信接口电路的组成

台达PLC通信协议ModbusASCII(DVP)

台达P L C通信协议 M o d b u s A S C I I(D V P) -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

台达PLC通信协议ModbusASCII(DVP) 编撰:李浩特日期:2013/11/12 版本:Ver:3.2 例1:读D0(地址为1000H)寄存器数据-------------------------------2 例2:读D0-D8(D0地址为1000H,D8地址为1008H)寄存器数据----------3 例3:把0010H写入D0数据寄存器------------------------------------4 例4:写D10-D17数据寄存器-----------------------------------------5 例5:强制把0010H写入D0数据寄存器--------------------------------5 例6:读取M0(地址为0800H)状态-------------------------------------6 例7:读取M0-Y32状态----------------------------------------------6 例8:读取Y0(地址为0500H)状态-------------------------------------7 例9:读取Y0-Y37状态----------------------------------------------7 例10:读取X0(地址为0400H)状态------------------------------------8 例11:读取X0-X37状态--------------------------------------------8 例12:强制Y0置位------------------------------------------------9 例13:强制Y0复位------------------------------------------------9 例14:强制M0置位------------------------------------------------10 例15:强制M0复位------------------------------------------------10

串口通信协议

串口通信协议 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。 什么是RS-232 RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。 DB-9针连接头 9针串口连接口顺序图 从计算机连出的线的截面。 RS-232针脚的功能: 数据: TXD(pin 3):串口数据输出(Transmit Data) RXD(pin 2):串口数据输入(Receive Data) 握手: RTS(pin 7):发送数据请求(Request to Send) CTS(pin 8):清除发送(Clear to Send) DSR(pin 6):数据发送就绪(Data Send Ready) DCD(pin 1):数据载波检测(Data Carrier Detect) DTR(pin 4):数据终端就绪(Data Terminal Ready) 地线: GND(pin 5):地线 其他 RI(pin 9):铃声指示 什么是RS-422 RS-422(EIA RS-422-AStandard)是Apple的Macintosh计算机的串口连接标准。RS-422使用差分信号,RS-232使用非平衡参考地的信号。差分传输使用两根线

台达PLC通信协议书ModbusASCII[DVP]

台达PLC通信协议ModbusASCII(DVP) 编撰:李浩特日期:2013/11/12 版本:Ver:3.2 例1:读D0(地址为1000H)寄存器数据-------------------------------2 例2:读D0-D8(D0地址为1000H,D8地址为1008H)寄存器数据----------3 例3:把0010H写入D0数据寄存器------------------------------------4 例4:写D10-D17数据寄存器-----------------------------------------5 例5:强制把0010H写入D0数据寄存器--------------------------------5 例6:读取M0(地址为0800H)状态-------------------------------------6 例7:读取M0-Y32状态----------------------------------------------6 例8:读取Y0(地址为0500H)状态-------------------------------------7 例9:读取Y0-Y37状态----------------------------------------------7 例10:读取X0(地址为0400H)状态------------------------------------8 例11:读取X0-X37状态--------------------------------------------8 例12:强制Y0置位------------------------------------------------9 例13:强制Y0复位------------------------------------------------9 例14:强制M0置位------------------------------------------------10 例15:强制M0复位------------------------------------------------10

台达通讯示范程序及说明

精心整理 台达通讯示范程序及说明一、本试验主要完成以下功能: 1)通过RS指令完成在HMI上读写DTA温度控制器、ASDA台达伺服控制器任意地址数据;2)通过人机HMI/PC实现伺服电机Pr模式下回原点、任意位置选择与定位控制。 二、试验用硬件和软件列表 序号名称型号数量 1 台达温度控制器DTA9696R1 1 2 台达伺服单元ASD-A0420LA 1 3 台达PLC DVP12SA11T 1 4 人机界面HMI PWS6600S-S 1 5 24V电源** 1 5 通讯线** 若干 调试过程中使用的软件: 1).HITECH-ADP 6.1.1.03画面编程软件 2).DeltaservoUIsoftwareA1.003伺服调试工具 3).台达PLC编程软件WPLSoft-2.09 三、资料引用描述: 1).ADP软件使用说明.pdf 2).ASD-A系列伺服驱动器系列手册.pdf M1000~M1014:参见P2-61~P2-63 BMOV:全部传送参见P6-24 RS:数据传输参见P7-81 ASCI:HEX转为ASCII参见P7-97 HEX:ASCII转为HEX参见P7-102 CCD:校验码参见P7-105 3)台达温度控制器DTA系列操作手册 四.程序中的关键部分编写思路 1)“二补码”的计算: 一个8位十六进制数(如**H)的二补码的计算方法是:FFH-**H+01H=100H-**H 2)编程的时候请参考章节(RS:数据传输参见P7-81)ASCII表 3)下面我们以写数据为例来说明编程思路 如下图所示,在PLC启动正向RUN的瞬间,写入初始化数值(图中左列所示);由 人机界面输入16进制数地址(如4700H),通过ASCI指令将其每一位转化为ASCII码存放到D60(D80)开始的4个数据寄存器中,然后通过BMOV指令送到D105…D108(D109…D112)中。数据传入以后,从地址ADR1/0开始,两个一组依次相加计算校验 码(见程序说明)。 在一个PLC扫描周期,需要将数据写入指定的地址当中去,以免产生错误,但是在人机 界面上,在同一时间只能写入一个数据,为解决这个矛盾,我们采用先把数据写入PLC 的数据寄存器中,待地址和数据都写好以后,人为地给一个触发信号,将数据同时写入。补码计算子程序: 时间的处理方法:分时处理——在不同时间段进行不同的读写操作。 如: 时间段M0----温度控制器写操作

基于串口自定义协议的数据通信方式设计

基于串口自定义协议的数据通信方式设计 ?引言 计算机与计算机之间的数据交换不仅可以采用常用的通信协议进行联网方式交换,还可以采用串行通信方式或并行通信方式通过非常规的通信协议方式交换。不同安全等级的计算机之间需要进行数据传输(出于安全考虑,多数是从安全等级高的计算机向安全等级低的计算机单向传输数据) ,而不同安全等级的计算机是不允许进行直接网络连接的,由此设计了自定义通信协议下通过串行通信端口RS2232 实现处于不同安全等级的计算机之间进行数据传输。 1.RS232 串行端口 一组比特数据在多条线上同时被传送的传输方式被称为并行传输。在传输过程中各数据位可并行传送,传送速度快、效率高,多用于要求实时、快速的场合。但是有多少数据位就需要多少根数据线,传送成本高。而串行端口通信是数据通过一根传输线逐位传送,数据传送按位顺序进行,至少只需要一根传输线即可完成,节省传输线。由于串行通信方式使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用. 1.1 RS 2232 端口简介 RS232 串行通信端口属于PC 机(个人计算机)及电信应用领域中最为成功的串行数据标准。它被定义为一种在低速率串行通信中增加通信距离的单端标准,是目前PC 机与通信工业中应用最广泛的一种串行通信接口。现在的PC机一般有1 到2 个串行通信端口COM1 及COM2 ,这些串行通信端口均为9 个引脚,即异步通信的9 个信号。在通信速率低于20 kbit / s时,与其直接连接的电缆最大物理距离为15 m(即直接传输距离) 。RS232 标准规定,若不使用Modem ,在码元畸变小于4 %的情况下,数据终端设备(DTE)和数据通信设备(DCE)之间最大传输距离为15 m。一般应用中当通信距离小于12 m 时,可以用电缆线直接连接标准RS232 端口。若距离较远, 须附加调制解调器(Modem) 。本方案中传输数据的2 台计算机距离很近,采用最基本的接法,将RS232 端口的关键引脚直接用电缆线相连。 RS2232 端口引脚说明见表1。

台达VFD通讯示例

台达VFD-B变频器串口通信中,频率设定,还有正转、反转、停止字符串是怎样写? 范例1:设定VFD-B系列变频器的频率为30.00Hz,通讯格式为9600,8,N,2,RTU 01 06 2001 0BB8 D488 范例2:设定VFD-B系列变频器正转,通讯格式为9600,8,N,2,RTU 01 06 2000 0022 0213 范例3:设定VFD-B系列变频器停止,通讯格式为9600,8,N,2,RTU 01 06 2000 0001 43CA 西门子与台达变频器通讯 ORGANIZATION_BLOCK 主程序:OB1 TITLE=实现S7-200 PLC与台达变频器通信 // 实现功能是PLC通过RS485通信控制变频器的正转启动、反转启动、停止、加速、减速和读取输出频率。变频器通过Modbus通信方式进行 // 要求台达变频器设置基本通信参数: // P00=d03(主频率由RS485控制) // P01=d03(运转/停止由RS485通信控制) // P88=d01(站点定义为1号站) // P90=d00 P91=d00 P92=d02 P113=d01 // (其他参数都是出厂默认值,可根据实际情况调节) // BEGIN Network 1 LD SM0.1 CALL SBR0

Network 2 // 正转启动命令LD M10.0 EU MOVB 16#30, VB104 MOVB 16#36, VB105 MOVB 16#32, VB106 MOVB 16#30, VB107 MOVB 16#30, VB108 MOVB 16#30, VB109 MOVB 16#30, VB110 MOVB 16#30, VB111 MOVB 16#31, VB112 MOVB 16#32, VB113 CALL SBR1 Network 3 // 反转启动指令LD M10.1 EU MOVB 16#30, VB104 MOVB 16#36, VB105 MOVB 16#32, VB106 MOVB 16#30, VB107 MOVB 16#30, VB108 MOVB 16#30, VB109 MOVB 16#30, VB110 MOVB 16#30, VB111 MOVB 16#32, VB112 MOVB 16#32, VB113 CALL SBR1 Network 4 // 停止指令 LD M10.2 EU MOVB 16#30, VB104

串口通信协议程序

主机程序: /* 主机主要处理: 主—>从 1.给从机发送命令 2.给从机发送数据 3.命令从机向主机发送数据 从—>主由中断程序处理根据从机发送过来的请求类型 0.请求主机发送命令(包括主到从的1,2命令) 1.请求主机接收数据 2,3保留 */ #include #include #define uchar unsigned char #define uint unsigned int #define slav1_addr 0x01 #define slav2_addr 0x02 #define COMEND 0 #define REC_DATE 1 //主机向从机发送多数据命令高四位为1111,所以其他命令高四位不能为1111 #define cmd_X 0x12 #define cmd_rec_data 0x11 sbit signal=P3^2; uchar temp_addr,num,rec,style,re_addr; uchar buf[20]; uchar rec_data[10]; void delay(unsigned int i) { while(i--); } void init_uart(void) { TMOD=0x20; //定时器方式2--8位reload模式 TH1=0xfd; TL1=0xfd; PCON=0; //波特率不加倍 SCON=0xf0; //方式三 TB8=1; //发送地址时第九位为1 SM2=1; //接收到第九位为1时才能接收数据

TR1=1; //要在设置scon后开定时 ES=1; //开中断 EA=1; } //发送命令 void uart_send_cmd(uchar addr,uchar cmd)//uchar *date) { while(signal==0); //检查总线是否被占 signal=0; //占用总线 EA=0;//关中断 do { do { SBUF=addr; //发送从机地址 while(TI!=1); TI=0; } while(RI!=1); //一直等待从机响应 //while循环里可加入出错处理temp_addr=SBUF; RI=0; } while(temp_addr!=addr); //一直等到从机回应的地址相同 //while循环里可加入出错处理 TB8=0; //发送数据第9位为0 // SM2=0; // 接收到第九位为1时才置位RI //每次一个数据 SBUF=cmd; while(TI!=1); TI=0; TB8=1; // SM2=1; RI=0; TI=0; //不处理期间发生的中断 EA=1; signal=1; //释放总线 }

串口通信协议

标签:RS232RS485串口协议比较 串口通信协议比较 串口通信协议主要有RS232、RS422 、RS485。下面将从其发展历史、各自特点来介绍各种协议,RS232和RS485的区别和接法。 首先是发展历史。最开始出现的串口通信协议是RS232,1962年发布的。由于其传输速度、单向传递、传输距离短等多方面的制约,因此使用受到限制。于是人们在RS232的基础上做了相应的改进,提高了相应的传输速度、传输距离,于是出现了RS422的雏形,并在工业上得到了相应的应用。但由于任然是单向传输的,使构成的网络只能是单向的。既只能是主机给从机发送指令或数据,从机只能接受并处理相应的消息,不能反映相应的结果。于是人们又做了相应的调整。最后于1983年发布了RS485通信协议。 正如前面所说的。RS232协议是一种简单的串口通信协议,也是最基本的。一般用在实验室等短距离、对传输速度等要求不高的场合,并且与TTL电平不兼容。 RS422有了相应的提高。是一种单机发送,多机接收的平衡通信协议接口,传输速度最高可以达到10Mbps,传输距离最远可达到4000英尺,并且在这条平衡总线上能最多带10个从机,但是任然是单向的传输。 RS485是一种多点,双向通信的平衡通信协议接口。再RS422的基础上增加了网络中接点(多机)的数量和双向通信能力,同时还增加了驱动器的传输能力和冲突保护特性,扩展了总线共模范围。传输速度最高可以达到10Mbps,标准距离可以达到4000英尺,实际能达到3000米,并且在这条线上最多可以带128个收发器。 RS232和RS485的区别: 1.传输速度不同。RS485可以达到10Mbps,高于RS232的速度。 2.电气特性不同。RS485采用的是平衡驱动器和差分接收器的组合。RS485 是输出的是差分信号,抗共模干扰能力强。逻辑“1”是两输出信号的+(2~6)V,“0”是-(2~6)V表示。电气信号低于RS232的电气信号,不容易损坏接口芯片,并且与TTL电平兼容。 3.传输距离不同。RS485标准距离为4000英尺,实际可以达到3000米。远远大于RS232的距离。 4.接收器数量不同。RS485接收器最多可以达到128个,即多站能力。而RS232只能是一个,即单站接点。

台达PLC通讯协议

台达PLC通讯协议原文 1、通讯协议ASCII模式,9600,7,e,1 ADR(通讯地址): PLC通讯地址出厂设定为0X01,因此(ADR1,ADR0)=‘0’,‘1’→=30H,31H 校验码: 校验码采用LRC方式,将ADR1至最后一个资料内容加总,将该值取2的补数,结果即为LRC校验码。 例: 01H+03H+04H+01H+00+01H=0AH 0AH的2的补数为F6H

注1: 2补数的求法:(1补数再加1) 0A(H)=00001010(B)先取1补数(将b0-b7反相)得11110101(B),再加1为11110110(B)=F6(H)即为0A(H)的2补数。 注2: 在收到一串完整的通讯命令,要检查这串通讯命令是否有误,只要将(ADR1,0)至(LRC1,0)加总等于0,则通讯无误,否则表示命令中资料有些是错误的。 通讯异常PLC的回应: 因为Address 0400 对Function 01是不合法的,所以回应Exception Code=0X02,且Function 01被设为81(b7被设为1),亦即由回应的Function code的MSB被设为1表示PLC回应ERROR MESSAGE,并且由Function code可得知是何种错误。 可用的命令码叙述如下:(每个device的address,请参考最后一页)

资料字元的格式依命令码而定,依可用的命令码的资料内容分别叙述如下: 例:从从动装置01读取线圈T20-T56 PC→PLC “:01 01 06 14 00 25 BF CR LF”

例:从从动装置01读取接点Y024-Y070 PC→PLC “:01 02 05 14 00 25 BF CR LF” 例:从从动装置01读取线圈T20-T27 PC→PLC “:01 03 06 14 00 08 DA CR LF”

台达plc伺服通信例子

PLC通讯控制伺服电机 src=https://www.wendangku.net/doc/3111154444.html,/forum/pic/837305_1.GIF >

RS、MODRD/MODWR/MODRW、CVFD的比较: 1. RS---串行数据传输: █此指令是专为主机使用RS-485串联通讯接口所提供的便利指令。在程序中可以无限使用RS指令,但不可同一时间执行两个以上的RS指令。 █接口设备(变频器,温度控制器…)如果配备RS-485串行通讯,并且该设备的通讯格式也有公开就可以由PLC的使用者以RS指令设计程序来传输PLC与接口设备的数据。 █此指令的优点是: 可以读取或者写入任何通讯格式的外围接口设备(变频器,温度控制器…); (2)可以读/写位装置; █此指令的缺点是:(1) 该指令不能对接口设备的参数地址直接作用,必须先将欲读取/写入的数据内容(头码,装置地址,功能码,数据地址,个数/数据内容,校验码,尾码)写入到寄存器中,然后才能够读取/写入。(2)只能通过RS-485来监控外围接口设备。2.MODRD---MODBUS数据读取 █ MODRD指令是专门针对MODBUS ASCII模式/RTU模式的通讯外围设备专用的驱动指令。

█如果你要以通讯方式读取接口设备(变频器,温度控制器…)的某一参数,并且该接口设备通讯格式符合MODBUS的通讯格式,建议使用MODRD指令,因为这个指令相对RS指令要方便。 █此指令的优点是:(1)操作数简易,可以直接对参数地址进行操作。当欲读取外围接口设备的某一参数时,只要填写外围接口设备的装置地址、欲读取数据的地址,读取的笔数(WORD); (2)如果是ASCII形式,PLC能够将读取到的ASCII数据转化为十进制或十六进制数值存放到D1050~D1055。 █此指令的缺点是:(1) 只能读取符合MODBUS通讯格式的接口设备; (2)不能读取位装置; (3)最多只能读取6笔(6个word)数据。3.MODWR---MODBUS数据写入 █MODRD指令是专门针对MODBUS ASCII模式/RTU模式的通讯外围设备专用的驱动指令。 █如果你要以通讯的方式给外围接口设备(变频器,温度控制器…)写入或修改一个参数,并且此接口设备通讯格式符合MODBUS的通讯格式,建议使用MODWR指令,因为这个指令相对RS指令要方便。 █此指令的优点是:(1)操作数简易,可以直接对参数地址进行操作。当欲写入外围接口设备的某一参数时,只要填写外围接口设备的装置地址、欲写入数据的地址,欲写入的数据内容。 █此指令的缺点是:(1) 只能写入符合MODBUS通讯格式的接口设备; (2) 并且该指令执行一次,只能写入一笔(一个WORD)数据,(3)不能写入位装置。4.MODRW---MODBUS 数据读/写 █此指令也是针对“外围接口(变频器,温度控制器…)设备符合MODBUS通讯格式”的指令。█此指令既可以用来读取也可以用来写入外围接口设备(变频器,温度控制器…)的参数 █此指令的优点是:(1) 该指令既可以用来读取也可以用来写入数据,可以直接对参数地址进行操作; (2)并且能够一次读取/写入多笔(ES/EP最多8个word;EH最多16个word)数据。█此指令的缺点是:(1) 只能写入符合MODBUS通讯格式的接口设备,(2)不能读/写位装置。 5.CVFD软件---数据读/写█此软件可以可以读取也可以写入,并且还能够监控发送和接受到的数据. █此指令的优点是:(1)该软件可以很直观的监视发送&接收的数据;(2)该软件可以很方便的对外围接口设备读取和写入数据;(3)该软件能够对位装置进行读/写(4)该软件最多可以读取23(EH系列PLC)个word数据。理论上最多可以写入127个word数据。(5)该软件既可以通过RS-232也可以通过RS-485来监控外围设备。(6)和MODBUS,RS指令相比较,使用CVFD软件监控通讯数据是最方便,最直观的。

台达PLC通讯协议(2)

台达PLC通讯协议V1.12通讯接口RS-232C RS-485 2. 通讯协议ASCII模式,9600 (传输速率),偶同位,1个起始位,1个停止位 9600,7,e,1 3. 通讯资料格式 STX起始字符’:’(3AH) ADR 1通讯地址: ADR 0 8-bit地址包含了2个ASCII码 CMD 1命令码: CMD 0 8-bit命令包含了2个ASCII码 DATA( 0)资料内容: DATA(1)n个8-bit资料包含了2n个ASCII码 ......... ... n <=74 个ASCII 码 DATA (n-1) LRC CHK 1侦误值: LRC CHK 0 8-bit侦误值包含了2个ASCII码 END 1结束字符: END 0 END 1 = CR( 0DH), END 0 = LF( 0AH) ADR (通讯地址) PLC 通讯地址出厂设定值为0x01,因此(ADR 1, ADR 0 =' 0 ' ,' 1' ' 0' =30H, '1'= 31H LRC CHK(侦误值)CMD (命令指令)及DATA (数据字符) LRC CHK(侦误值) 侦错方式采用LRC (Longitudinal Redundancy Check )侦误值。LRC侦误值乃是将ADR1至最后一个资料内容加总,将该值取2补码(2' s Complement )得到之结果即为LRC侦误值。 附录-3 例: STX ':' ADR 1 ' 0' ADR 0 ' 1' CMD 1 ' 0' CMD 0 ' 3' 起始资料地址’0' '4' '0' '1' 资料数’0' '0' '0' '1' LRC CHK 1 ' F' LRC CHK 0 ' 6' END 1 CR

台达PLC通讯组态设置.doc

概述系统连接硬件连接硬件设置设备组态数据连接常见问题 概述 台达PLC通讯协议支持与台达PLC通讯。本协议采用串行通讯,使用你计算机中的串口。 系统连接 您可以通过一个RS232-RS485转换器将一台或多台模块与计算机连接到一起。当用一条485总线连接多台模块时,每台模块的地址必须是唯一的. 硬件连接 请参照您所使用的模块的通讯说明进行连接。 (1)RS232:采用厂家提供的专用电缆。一端接计算机的串口,一端接PLC的编程口。 波特率 9600 数据位 7位 停止位 2位 校验位偶校验 (2)RS485:计算机通过RS232串口接转换模块,变成RS485信号后,接到PLC的485口上 波特率 9600 数据位 7位 停止位 1位 校验位偶校验

设备组态 设备驱动根据模块不同分为选择相应的模块驱动。如图:根据您所使用的PLC、智能模块选择设备驱动。 下图是设备组态用户界面:

根据PLC或智能模块内部设置的地址填写“设备地址”,相对于协议的设备ID. 更新周期:默认50毫秒就是说每隔一个更新周期读一次数据包。请根据组态工程的实际需要和PLC的通讯反应时间设定。 超时时间:默认8秒,当到超时时间的时候,PLC的数据还没传上来被认为是一次通讯超时。请根据组态工程的实际需要和现场的通讯情况设定。 故障后恢复查询:当设备发生故障导致通讯中断,系统会每隔一定“周期”查询该设备。直到“最长时间”如果还没有反应,在这次运行过程中系统将不再查询该设备。 “动态优化”和“初始禁止”请在力控工程人员的指导下使用,否则请保持默认状态。 下图为串口通讯设置:请根据PLC或智能模块的通讯说明设置波特率,数据位,校验位,停止位。

台达变频器和PLC通讯功能的实现方法

台达变频器和PLC通讯功能的实现方法 1 引言 plc和变频器是自动化设备上最常见的部件。其最初的控制型式大多是用plc的i/o点和模拟量模块直接控制变频器的启停和实现调速,但这种控制方式有两大弊端,最大的弊端是占用plc的i/o点和需要增加昂贵的模拟量模块,造成控制成本的增加。当被控制的变频器数量较多时,此弊端更是明显。第二个弊端是模拟量控制容易受干扰,传输距离也容易受限制。 近几年来自动化产品不断更新换代,性能不断提升,功能日益强大。在小型plc方面这个变化更加明显,现在的小型plc不仅执行速度大大提高,指令功能日益丰富,更重要的是大都支持多种通讯协议,并提供了更多的通讯接口。同时大多的变频器也具有了rs485接口,也能支持多种通讯协议,最常见的就是modbus协议。这种技术的进步为plc和变频器通讯的实现,提供了软件上的协议和硬件上的物理接口,从而为低成本高性能的通讯控制的实现打下了良好的基础。 2 通讯相关的基础知识 2.1 通讯协议communications protocol 通信协议是指通信双方的一种约定。这个约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程。 modbus协议是工业控制器中使用较普遍的一种网络协议。通过此协议,各种控制器之间(比如plc、变频器、伺服驱动器、各种智能仪表)、控制器通过其它网络(比如以太网)和其它设备之间都可以通信交换信息。该协议定义了一个控制器可以识别的信息架构,从而使不同厂商生产的支持此协议的各种工控产品可以连接到一个网络上进行集中控制和信息交换。 2.2 rs485接口的特点 rs485接口是在大家熟知的rs232接口的基础上推出的性能更优的一种串口。由于rs485接口具有良好的抗噪声干扰性,长的传输距离和多站功能等优点,它成为应用越来越广泛的串行接口。此外,rs485接口组成的半双工网络一般只需二根屏蔽双绞电线,这为长距离的通讯线路节省了很多配线,降低了系统的成本。 3 台达plc和变频器通讯功能的特点

STMZET6与S7-1200自定义通信协议实现串行通信

摘要:针对现有潜水器模拟装置数据采集和处理方法单一、故障率高、通讯系统复杂的不足。介绍了STM32单片机与西门子S7-1200系列PLC 实现远距离自定义通信协议的串行通信的硬件连接和软件实现方法;重点阐述了自定义通信协议的实现。该方案已实际应用于潜水器模拟控制平台项目中;实现了系统交互式通信。 关键词:PLC ,单片机,通信协议,串行通信 Abstract 押This paper introduces the hardware connection and software realization method of serial communication between STM32MCU and SIEMENS S7-1200series PLC.Focuses on the implementation of the custom communication protocol.This scheme has been applied to the submarine simulation control platform project.It realizes the system interactive communication. Keywords 押PLC熏MCU熏communication protocol熏serial communication 传统的潜水器模拟装置控制系统存在以下两个不足:一是数据采集和处理方式单一,故障率高;二是通讯系统逻辑层次凌乱,没有统一标准。能够解决上述问题意义重大。因此本文采用单片机和PLC 的相互配合,扩展控制功能,实现对系统的综合控制。下面以西门子PLC S7-1200系列与STM32单片机的通信为例,阐述自定义通信协议的实现方法。1硬件设计 1.1STM32单片机 ST 公司的STM32单片机的优异性体现在以下几个方面:价格低廉、外设较多、开发成本极低以及杰出的功耗控制等。STM32的串口资源相当丰富,功能也相当强大。本文所使用的STM32F103ZET6型号开发板最多可提供5路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯等。采用串口2来实现串行通信所需的两条引脚是PA2和PA3,通过STM32的PG9控制MAX485E 的收发以及三极管的基极。当PG9=0时,为接收模式;当PG9=1时,为发送模式。1.2S7-1200系列PLC 西门子公司S7-1200系列PLC 通过增添通信模块CM1241(RS422/485)实现串行通信,本文采用RS-485接口标准,接收差模信号,可以组成半双工串行通信网络。S7-1200采用自由端口模式协议,协议通过在软件中配置消息接收的格式和编程实现。通过单片机与PLC 的配合实现自定义协议通信,在传送大量数据时是很方便的。1.3MAX485E 芯片 MAX485E 采用半双工通讯方式,它实现TTL 电平转换为RS-485电平的功能。MAX485E 芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO 和DI 端分别为接收器的输出和驱动器的输入端,与STM32的串口2的PA2和PA3相连即可;接收和发送的使能端分别为/RE 和DE 端,当/RE 为逻辑0时,MAX485E 处于接收状态;当DE 为逻辑1时,MAX485E 处于发送状态。因为MAX485工作在半双工状态,所以只需用STM32的PG9控制这两个引脚即可。同时需在A 和B 端之间加匹配电阻,一般可选120赘的电阻。1.4S9013三极管 S9013是一种NPN 型小功率三极管。S9013NPN 三极管主要用途:音频放大、推挽输出以及开关等。本文中采用单片机 来控制PLC ,但是单片机的管脚最大输出电压只有3.3V ,不足以控制PLC 的IO 口。采用图1的接法(共发射极)能够放大电压起到开关的作用从而控制PLC 的IO 口。 图1信号转换电路 2通信系统设计 为了提高通讯的实时性及可靠性,除了改变传输的波特率以外,还应尽量减小每个通信周期传送的数据量。制定用户通信协议的核心是合理安排数据结构,使频率变化高的数据在每个通信周期内都能及时传输,而频率变化低的数据只有在变化稳定后方可进行传输[1-3]。2.1通信协议设计 单片机使用串口2进行异步发送和接收,协议用C 语言编程实现。一次发送的一组数据作帧,每帧数据最多可由30个字符组成,考虑到传输数据量较大,本文一次传送16个字符,且采用多次传送方式。单片机发送的命令的具体格式如下:1)起始符占一个字符,设置为6A (可任意配置);2)标识符占一个字符,用于区分多组数据;3)数据占12个字符,存储需要发送的数据; 4)校验符占一个字符,校验发送的数据是否正确;5)结束符占一个字符,设置为1C (可任意配置)。 PLC 采用自由口通信模式,可以实现用户自定义通信协议。本文中PLC 接收消息开始字符设置成6A ,接收数据的长度为16个字符,消息结束字符为1C ,配置如图2、图3所示。这样配置刚好与单片机所发送的数据相对应。 STMZET6与S7-1200自定义通信协议实现串行通信 张 堃1牟少芳1刘晓杰2丁新平1张民1 (1青岛理工大学自动化工程学院,山东青岛266520;2中石油华北油田华港燃气集团有限公司,河北任丘062552) STMZET6and S7-1200Custom Communication Protocol to Achieve Serial Communication STMZET6与S7-1200自定义通信协议实现串行通信 104

相关文档
相关文档 最新文档