当前位置:文档之家› 欧姆龙PLCRS232和TCPIP通讯

欧姆龙PLCRS232和TCPIP通讯

欧姆龙PLCRS232和TCPIP通讯
欧姆龙PLCRS232和TCPIP通讯

螺母拧紧机通讯

一、硬件配置

采用日本欧姆龙CJ1M-CPU23型号的PLC加装CJ1W-SCU21(RS232)串行通讯单元和CJ1W- ETN21以太网通讯单元。CJ1W-SCU21的端口1采集扫描仪条形码数据,端口2采集旋紧枪扭矩数据。CJ1W- ETN21以太网通讯单元与服务器直接进行TCP/IP网络通讯。

二、工作流程及客户要求

螺母拧紧机是用于将驾驶员方向盘内的安全气囊中气体发生器旋紧的设备。其工作流程如下:

1. 设备起始操作

将选择开关置于自动挡,触摸屏上立即显示“请扫描条形码”。用扫描仪采集气体发生器上的条形码数据并向CJ1W-SCU21串行通讯单元(port1)端口1发送此数据(此数据为ASCII码)→串行通讯单元接收条形码数据→程序运算处理转换条形码数据→由CJ1W-ETN21以太网通讯单元向服务器发送条形码再加上规定的字符信息→服务器对以太网通讯单元所发信息进行判别并发送包含继续操作(PASS)或结束操作(FAIL)在内的约定字符信息→以太网通讯单元接收服务器发来的字符信息→程序中将服务器信息进行判别处理转换→(PASS)设备继续操作

↓→(FAIL)设备结束操作

扫描仪与CJ1W-SCU21串行通讯单元之间进行RS232通讯。

2. 设备在旋螺母过程中

气体发生器上共有4颗螺母需要拧紧。每当拧好1颗,旋紧枪向CJ1W-SCU21串行通讯单元(port2)端口2发送包括扭矩值在内的78个字符数据。程序将每次获得的字符

数据进行运算处理转换并存储到设定的区域。

3. 设备旋完螺母后

当螺母旋完后CJ1W-ETN21以太网通讯单元再次向服务器发送4次扭矩值再加上规定的字符信息→服务器对以太网通讯单元信息进行判别并发送包括合格(PASS)或不合格(FAIL)在内的字符信息→以太网通讯单元接收服务器发来的字符信息→程序中将服务器信息进行判别处理转换→(PASS)产品合格转入正常流程。

↓→(FAIL)产品不合格按异常处理。

三、程序设计

1. RS232通讯

1.1接收扫描仪数据程序如下:

本设备采用CJ1W- CU21单元进行RS232串行通讯。因该单元是一个独立的模块,所

以不能用(RXD为内置的RS-232C 端口读)指令而应该用

(总线单元接收)指令。若条形码为→ALV3C208025(ASCII码字符表示),D60为第一个字存储区其值为AL,用十六进制表示D60的值为#414C。条形码共有11个字符即11个字节,用&11(&表示十进制)表示要接收的字节数。

控制字D75的值为#0000, D76的值为#5115。

1.2接收旋紧枪的扭矩值程序如下:

D500为第一个字存储区,D538为最后一个字存储区。旋紧枪共发送78个字符即78个字节,用&78表示要接收的字节数。

控制字D490的值为#0000, D491的值为#3215。

2. TCP/IP以太网通讯

在客户现场采用以下两种指令始终未做通PLC与服务器的以太网通讯。

SEND(网络发送) RECV(网络接收)

采用Socket TCP/IP通讯获得了成功。

1.1以太网端口设置程序如下:

CJ1M型号PLC最多可连接8个CJ1W ENT21以太网通讯单元,每个单元的IP地址、发送字节数、接收字节数等参数都设置并存储在区域。每个通讯单元占用10个字,从m+18至m+88共为8个区域。因本设备以太网通讯单元在组态时为0号单元,所以m=D30000+〔100×0〕为D 30000再加18即D 30018。

D30018为本设备以太网通讯单元UDP/TCP socket No:号其设置为#1 。

D30019为服务器UDP/TCP socket No:号其设置为#0。

D30020为服务器IP 地址前两位即10、243,其设置为#AF3。

D30021为服务器IP 地址后两位即11、152,其设置为#B98。

D30022为服务器与以太网单元连接的端口号24201,其设置为&24201。

D30023为以太网单元接收或发送信息的字节数,其数值根据接收或发送的要求不同而设置。

D30024为以太网单元接收或发送信息所占内存区域的起始地址,其数值根据接收或发送的要求不同而设置。#8200中82表示为DM区,00表示为以D000为起始地址。#8203中82表示为DM区,03表示为以D1000为起始地址。#8201中82表示为DM区,01表示为以D10为起始地址。

D30025为以太网单元接收或发送信息设定值,其数值根据接收或发送的要求不同而设置。#0000表示为发送,#E800表示为接收。

D30026为以太网单元端口打开或接收信息响应代码,#0000表示为要响应,#0001表示为不要响应。

D30001为以太网单元实际接收信息字节数。

发送或接收信息的字节(字符)数不能超过100个(字不能超过50个),程序中D30023用#64表示发送字节数。

1.2向服务器发送信息程序如下:

当RS232单元一接收到扫描仪的信息,以太网单元立刻向服务器发送数据。当螺母旋好后并接收到旋紧枪发来的扭距值,再次向服务器发送数据。

1.3接收服务器发来信息程序如下:

由于D30001为以太网单元实际接收信息字节数,所以只要将其值赋予D30023这样无论服务器发送信息字节数在100个以内发生什么样变化,D30023的值可自动跟踪随其变化,就能确保发送与接收信息的一致性。

四.表格设置

本项目共有3个内容需要设置,I/O表和单元设置表;RS232单元设置表;以太网单元设置表。

1.I/O表和单元设置如下:

在图1中双击,将显示图2。在图2中先双击,将显示

图3。在图3中点击,将显示图4。图4中双击CJ1W-SCU21-V1(Serial Communi- Cation Unit),将显示图5。在图5中进行确认即可完成RS232通讯单元组态。另在图2中双击,再按上述方法从图4中双击CJ1W-ETN21(ETN21Mode)(Ethernet Unit),显示图6。在图6中进行确认即可完成以太网通讯单元组态。依此方法可在图3中点击基本I/O,添加输入输出单元。至此就能得到如图7所示的全部硬件组态表。

图1.

图2 图3

图4 图5

图6 图7

2.RS232单元参数表设置如下:

在图7中双击,就可弹出图8。在图8中,根据扫描仪和旋紧枪各自的通讯格式和各自所接入的端口设置相应参数。

注意在PC与PLC连接后,一定要将设置好的参数下载到.RS232单元中。其方法是在图8界面点击“传送(T)[PC到单元]”按钮,参数自动传入.RS232单元。参数传完后将会自动提示“模块重启”,点击确定即可。模块不重启,输入参数无效。

RS232单元上有1个位址开关,用它来设定RS232单元在I/O表中的单元号。注意RS232单元号和以太网单元号不能重复。

图8

2.以太网单元参数表设置如下:

在图7中双击,就可弹出图9。根据服务器的IP地址和客户的要求在图9界面设置以太网单元相应的IP地址,子网掩码为255.255.255.0,其余各项均为缺省值。

图9

注意:1. CJ1W-ETN21以太网单元上有3个位址开关。最上面一个位址开关是设定以太网单元在I/O表中的单元号,以太网单元号不能和RS232单元号重复。中间和下边的位址开关是设定本设备以太网单元在网络中的终端节点号。螺母旋紧机的IP地址为:10.243.11.195(IP地址的数值均为10进制)。195就是终端节点号,由中间和下边2个位址开关所指向的值构成。将的开关旋向C, 将的开关旋向3即构成195。2.在PC与PLC连接后,一定要将设置好的参数下载到以太网单元中。其方法是在图9界面点击“传送(T)[PC到单元]”按钮,参数自动传入以太网单元中。参数传完后将会自动提示“模块重启”,点击确定即可。同上理模块不重启,输入参数无效。

综上所述无论是RS232通讯,还是以太网通讯不仅各种表和各种参数要设置正确,程序也必须正确无误,缺一环都将引起通讯无法正常进行。

欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL

一、最新欧姆龙PLC全系列Host Link通信协议串口动态链接库DLL(以下简称DLL),是为满足工业 通信需要,针对工业领域要求上位机对PLC实时采集与控制的组态编程而设计。本DLL 是采用 Delphi语言开发的标准串口通讯库,具有以下特点: 1)、实时性、可靠性好,可根据通信数据量自行调整通信时间; 2)、适用于多PLC联网和上位机通信,满足多方面的需要; 3)、函数接口功能全,操作简单; 4)、附加实用转换与读取函数,易于快速开发(VC等非RAD开发环境的开发); 5)、支持USB、PC扩展卡等扩展串口号; 6)、支持多种操作系统win9x/win2000/winXP; 7)、可在多种编程环境下使用,例如VB、VC、Delphi等开发环境。 二、DLL函数说明 1、打开串口 Function ComOpen (nport,BaudRate,DataBits,Parity,StopBits:longint;User:Pchar):longint;stdcall; 参数:nport: 打开串口号,取值为1~8,代表COM1~COM8; BaudRate:波特率,取值为1200、2400、4800、9600、19200、38400 (推荐使用9600或 19200); DataBits:数据位,取值为5、6、7、8(推荐使用7或8); Parity:校验位,取值为1(E)、2(O)、3(M)、4(S)、5(N),注括号里是校验位的英文缩 写; StopBits:停止位,取值为1(1)、2(2)、3(1.5),注括号里是实际的停止位位数 User:DLL授权用户名; 返回值:长整型,操作成功返回1,否则返回0;打开串口不成功即返回0时的原因:1)、串口不存 在或被占用; 2)、DLL试用过期; 3)、DLL授权注册不正确。 使用举例: ComOpen(1,9600,7,1,1,'wjun') , 打开COM1口,并设定波特率=9600、数据位=7、校验位=E(偶 校验)、停止位=1,授权用户='wjun'。 2、关闭串口 Function ComClose(nport:longint):longint;stdcall;

欧姆龙CP1H串口通讯

*********************************************** 读取D寄存器内容 @00FA08000020000000000FC00010182000000000173* 读取D0 @00FA00C000020000FC0000000001010000000132*D0 里面数值为1 @00FA08000020000000000FC00010182000000001073* 读取D0-D15 @00FA00C000020000FC0000000001010000000F000000010000000600000000000000 00000000003000000000000000000041* *********************************************** 写D寄存器内容 @00FA08000020000000000FC000102820000000001000171* 写D0值1 @00FA00C000020000FC000000000102000030* 返回值(固定)@00FA08000020000000000FC000102820001000001000273* 写D1值2 @00FA08000020000000000FC000102820002000001000371* 写D2值3 *********************************************** 读取W寄存器内 @00FA08000020000000000FC000101B100000000010A* 读取W0的数据@00FA00C000020000FC0000000001010000000132* @00FA00C000020000FC0000000001010000F8004D* @00FA08000020000000000FC000101B1000900000103* 读取W9 @00FA08000020000000000FC000101B1000F0000017C* 读取W15 @00FA08000020000000000FC000101B1000000000209* 读取W0和W1的数据@00FA00C000020000FC0000000001010000F80000004D* *********************************************** 写W寄存器内 @00FA00000000001023100000000010176* W0.00置ON @00FA00000000001023100000200010075* W0.02置OFF @00FA00000000001023100020200010176* W2.02置ON @00FA00400000000102000040* 返回值总结:蓝色为W的地址,红色为位地址,黑色为1值ON,为0值OFF *********************************************** 以下是自己用VB辨析的一个通讯试验软件

【昆仑通态】PLC_欧姆龙_HostLink&Fins驱动使用详解

目录 1 欧姆龙PLC通讯方式说明 (1) 1.1 驱动设备简介 (3) 1.2 PLC的接线 (3) 1.3 通讯参数的设置 (3) 1.4 驱动对各系列PLC的支持 (6) 1.5 FINS驱动简要介绍及与Host Link驱动对比 (6) 2 驱动的基本使用 (6) 2.1 欧姆龙驱动通讯协议和通讯方式 (6) 2.2 欧姆龙驱动通讯连接方式 (6) 2.3 欧姆龙构件驱动的添加 (6) 2.4 欧姆龙构件采集通道 (6) 2.5 欧姆龙构件内部属性设置 (8) 2.6 欧姆龙驱动设备命令 (11) 3 驱动通讯的典型应用方案 (15) 4 常见问题及解决方案 (16) 4.1 根据通讯状态返回值判断的问题 (16) 4.2 通讯连接不上问题 (17) 4.3 新旧型号PLC寄存器说明 (17) 4.4 欧姆龙PLC数据读取速度慢问题 (17) 前言

1欧姆龙PLC通讯方式说明 1.1驱动设备简介 本驱动构件用于MCGS软件通过HostLink串口读写欧姆龙PLC设备的各种寄存器的数据。 本驱动构件支持欧姆龙C、CV、CS/CJ、CP系列部分型号的PLC。具体见第3节 驱动类型串口子设备,须挂接在“通用串口父设备”下才能工作 通讯协议采用欧姆龙HostLink(C-Mode)协议 通讯方式一主一从、一主多从方式。驱动构件为主,设备为从。 1.2PLC的接线 通讯连接方式: <1>采用欧姆龙串口编程电缆与PLC的HostLink串口或RS232扩展串口通讯。通讯电缆 接线请参见 图1 <2>采用RS422方式与PLC的RS422扩展通讯板通讯, 通讯电缆接线请参见相应硬件连 接手册。 HostLink串口或RS232扩展口接线图: 图1 注: 1.通讯扩展板及部分型号的PLC引脚定义与此有所不同,具体请查看相应手册确认接线 方式,并参照其说明进行接线。 2.如果是自制电缆请注意,PLC RS232端并非标准RS232,4和5是短接的。 1.3通讯参数的设置 “通用串口父设备”通讯参数设置如下:

关于欧姆龙plc串口通讯协议

1.无协议通信 无协议通信是不使用固定协议,协议不经过数据转换,通过通信端口输入、输出指令,如txd、rxd指令,发送接收数据的功能。这种情况下,通过plc的系统设定将串行端口的串行通信模式设为无协议通信(串行端口1、2都可以)。通过该无协议通信,与带有rs-232端口或rs-422a/485 端口的通用外部设备,按照txd、rxd指令进行单方面发送接收数据。 例如,可进行来自条形码阅读器的数据输入以及向打印机的数据输出等简单的数据接收和发送。 无协议通信时发送接收的消息帧:开始代码和结束代码之间的数据用txd指令进行发送,或者将插入“开始代码”及“结束代码”之间的数据用rxd 指令进行接收。当按照txd指令发送时。将数据从i/o存储器中读取后发送。按照rxd指令接收时,仅将数据保仔到i/o存储器的指定区域。“开始/结束代码”均由plc系统设定来指定。1次txd指令或rxd指令可发送的信息的长度(不包括开始代码或结束代码)最大是256字节。 2.nt链接通信 cp1h在pt(可编程终端)及nt链接(1台链接多台的1:n模式)下可进行通信,但在nt链接(1:1模式)下不能进行通信。pt为nt31 /631(c)-v2系列触摸屏或ns系列触摸屏的情况下,可使用高速nt链接。 nt链接可以通过plc系统设定及pt本体上的系统菜单进行设定。 利用pt本体上的系统菜单进行设定时,可通过以下操作进行pt侧的设定。 (1)在pt本体的系统菜单内的存储切换菜单的【串行端口a】或【串行端口b】,选择【nt链接(1:n)】。 (2)按【设定】按钮,将【通信速度】设定为【高速】。 3.上位链接通信 上位链接包括两个方面,即从上位计算机到plc和plc到上位计算机。在前者中,对于cpu单元,从上位计算机发布上位链接指令(c模式指令)或fins 指令,进行plc的i/o存储器的读写、动作模式的变更及强制置位/复位等各种控制。在后者中,对于上位计算机,从cpu单元发出fins指令,发送数据和信息。在上位计算机中,监视plc内的运行结果数据、异常数据、指令数据或对plc指示生产计划数据信息。进行上位链接时,可以通过plc 系统设定将串行端口的串行通信模式设为上位链接通信(串行端口1、2都可以)。 4.串行plc链接通信

OMRON CP1H MODBUS-RTU通讯

C1PH简易Modbus-RTU主站和电力仪表通讯 用OMRON 的PLC CP1H的内装RS85通讯板进行MODBUS-RTU通讯。 曾参考在OMRON官方网站上下载的MODBUS-RTU通讯程序,但有些不太明白,经实际测试,报告如下: 一、系统组成 二、系统设定 1.CP1H设定:在编程软件中设置。Port2为“串口网关”功能, 通信波特率 9600,8,1,N 2.CP1W-CIF11 DIP开关设定,1=ON(终端电阻) 2,3=ON(RS485方式) 4=OFF 5=ON(接收有RS控制),6=ON(发送有RS控制) 该内置模板设置为二线制的RS485通讯方式: RDA- -------仪表的RS485- RDB+ ------仪表的RS485+

ON Yes 1 OFF No Terminal resistor ON 2 wires( RS485) 2 OFF 4 wires( RS422) ON 2 wires( RS485) 3 OFF 4 wires( RS422) have to set same setting of No2 and No3 4 -- ON RD:RS controll 5 OFF RD:No RS controll (Always possible to resive )“ No echo back settinng ” also No5= On. ON SD:RS control 6 OFF SD:No Rs controll (Always possible to send )For 4 wire(RS422) 1:N conection, N side unit set NO.6 = ON. For 2 wire(RS485), set No.6=ON. 3.仪表设定 仪表站地址:=1 波特率:3=9600 其读取寄存器的指令格式:例: Addr Fun Data start reg hi Data start reg lo Data #of regs hi Data #of regs lo CRC16 Hi CRC16 Lo 06H 03H 00H 00H 00H 21H 84H 65H 仪表站地址:06H;读取指令:03H 读取00H单元~21H单元的数据 三、Modbus-RTU 简易主站功能 在CP1H CPU 单元上安装RS-422A/485 选件板(或RS-232C 选件板),通过软件开关操作,作为Modbus-RTU 主站,来发送Modbus-RTU 命令。这样,通过PLC系统设定将串行接口的串行通信模式设定为「串行网关」,可以简单地用串行通信来控制变频器等Modbus 对应的从设备。 在Modbus-RTU 简易主站用DM 固定分配区域中设定了Modbus 从站设备的从站地址、功能、数据,则软件开关ON 时即发出Modbus-RTU 指令。接收的应答被自动保存到DM 固定分配区域。 通道 位 设定内容 串行端口1 串行端口2 D32200 D32300 07~00 从站地址 (00 Hex ~F7 Hex) 15~08 系统保留(请设为00Hex) D32201 D32301 07~00 FUNCTION 代码 15~08 指令系统保留(请设为00Hex) D32202 D32302 15~00 通信数据字节数 (0000 Hex~005E Hex) D32203~D32249 D32303~ D32349 15~00 通信数据 (最大94 字节)

欧姆龙PLC通讯报文解释

PLC通讯报文解释 一、规则 (1)下行和上行报文分别用“发:”和“收:”区别开来。在颜色上也不同,发为绿色,收为蓝色。报文不论对错,只要是从串口和得到的数据都会显示出来。所以有时可以直接根据报文显示的情况发现一些问题。具体见第二大条。 (2)报头和报尾:所有完整报文帧的报头一定以字符“@”开始,最后以“*”和一个回车符(界面上是不可见的,但如果用鼠标左键选中报文尾部,是可以看到此字符确实存在且能够被选择,只是无法显示出来)结束。如果没有这两个明显的字符,此帧是无效帧,不会参与处理。 (3)PLC回应信息符(也就是指编程手册中的结束码):一共用两个字符来表示,这是对当前通讯状态的一个比较重要的指示,表示了本次问答的PLC与后台间数据的交换是否正常。具体各数值的意义见第二大条。本PLC回应信息符位于回答帧的第六和第七两个字符。如正常回答时,前面一部分报文会是:@01RD00 0000……。PLC回复的回应信息符就是这里的字符D后面紧跟的那两个字符。这里00是表示正常回应,如果FCS校验也正确的话,那么一切都OK,可以对本帧数据进行处理了。注意,如果是某些遥控或者强制等WR命令时,PLC回复的回应信息符就是字符R后面紧跟的那两个字符了。非00表示出错了。(4)协议是遵守MODBUS协议的。所以如果对MODBUS协议有一定了解的话,本报文是很容易看懂的。无论上行还是下行报文,帧格式都为: 报头(即@)+ 机号+ 命令+ 起始地址+ 长度+ FCS校验+ 报尾(即*+回车符) 参考报文: 发:@01RD0020001155* 收:@01RD00 0001 300E 0000 0000 0000 0000 0000 0000 0000 0000 0000 55* 报头和报尾不再赘述。 机号:一号机为01,二号机为02,为PLC设置里面下传时设定,需对应起来。 命令:常用到的是读命令RD和写命令WR、WD。以前的另一种PLC型号出现过扩展区E 区,所以对应还有RE,WE等命令。 起始地址:表示本帧的读或者写操作的对象区域开始处。与PLC程序里面的内存区完全对应。如协议中规定在PLC里面放置当前水机事故个数到D0020里面。那么上面例子中的RD0020….就会对从D0020这个寄存器开始读起。返回报文的第一个字就是D0020,也就是当前的事故条数了。 长度:要进行读或者写操作区域的长度。 FCS校验:PLC硬件自动响应上传报文及自动计算和校验FCS校验码,不用PLC程序进行额外的编写。 报文中各字符在程序中体现的数据含义的在参考说明书中的设置后,再结合看第三条的详细解释。 二、出错提示 (1)报文是乱码,可能原因是RS422的接线出错,请仔细检查。也可能是PLC的第四个通讯拨码没有拨(一般发货前会在一楼联调时拨好)。 (2)运行过程中,数据不来,或者事故不上传,遥测遥信数据不对等其它不正常情况。首先是要根据回应信息符来判断,如果回应信息帧正确(为00),那么就要查是不是PLC程序中出了问题了。不为00时,要根据下面的列表来解决问题了。

欧姆龙plc串口Fins命令协议通讯演示之欧阳光明创编

Fins命令+Hostlink协议通讯实验 欧阳光明(2021.03.07) 一、实验配置 硬件:CPU单元:CJ2M-CPU35 RS232串口选件板:CP1W-CIF01 USB转232连接电缆:CS1W-CIF31 软件:CX-Programmer、串口调试助手UartAssist 二、PC主机直连PLC串口命令帧格式介绍 命令格式 响应格式 PC主机直连PLC的情况下,主机发送命令给PLC,发送命令格式如下:(P54) @:Hostlink协议起始代码 Unit No.:单元号,对应PLC内置串口或串行通讯单元设置的Hostlink单元号。 Header code:在PC主机直连PLC的情况下,头代码为FA Response wait time:设置范围为0~F,单位为10ms,例如设置为2,则响应等待时间为20ms ICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00。SID:通常设置为00 Fins command code:参考Fins通讯手册P125 读命令:0101

写命令:0102 Text:具体操作内容,读写区域、读取起始地址、数据长度等内容存储区代码:(参考Fins通讯手册 P137) DM(word):82 W(bit):31 W(word):B1 CIO区(bit):30 Tips:使用Fins指令最大可读取538个字节。 一条命令不能超过1114个字符。 三、串口通讯调试实例 实例1——DM数据寄存器区读写实例; 1、读取D0开始1个通道的值 发送命令:@00FA00000000001018200000000017C*↙(回车键) 返回命令码:@00FA004000000001010000123447*↙(回车键) 2、读取D100开始的50个通道 发送命令:@00FA00000000001018200640000327E*↙(回车键) 3、写D200开始的2个通道 发送命令:@00FA00000000001028200C8000002123456780F*↙(回车键) Header code:在PC主机直连PLC的情况下,头代码为FA Response wait time:设置范围为0~F ICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00。SID:通常设置为00

欧姆龙PLC与温度仪表485串口通讯的实现

欧姆龙PLC与温度仪表485串口通讯的实现 欧姆龙PLC与其它仪表或设备通讯(无论是OMRON仪表或第三方仪表),要用带协议宏的串口通讯模块或模板,根据仪表或设备的通讯协议作相应的程序,建立相应的连通通道,就可对仪表进行读和写。 笔者曾为客户作过PLC与第三方温度仪表的通讯,现呈给各位,请指正。 所用PLC为OMRONC200HE-CPU42,配通讯模块C200HW-COM06,使用其A口(R S485)与温度表TTM-120通讯。 1、所用温度仪表“神王”TTM-120通讯协议: EIA标准:RS485 通讯:站1~31 传输:半双工 通讯码:ASCll7位(BCC除外)8位(MSD位=0) 接口方式:2线制 通讯速度:1200,2400,4800,9600 通讯距离:500Mmax 字符:启动位:1位 停止位:1/2位 数据:7/8位 校验:无/奇/偶 BCC校验:预先/不选择 通讯地址:1~99 通讯格式: 读数据:STX(02H起始码)+地址(2位)+R+标识码(3位)+ETX(03H结束码)仪表返回:STX(02H起始码)+地址(2位)+ACK(06H响应)+标识码(3位)+数据(5位)+ETX(03H结束码) 写数据:STX(02H起始码)+地址(2位)+W+标识码(3位)+数据(5位)+ETX (03H结束码) 仪表返回:STX(02H起始码)+地址(2位)+ACK(06H响应)+ETX(03H结束码) 错误信息响应:STX(02H起始码)+地址(2位)+NAK(15H错误响应)+错误格式(1位)+ETX(03H结束码) 2、用协议宏软件CX-PROTOCOL作协议宏程序 可用用CX-PROTOCOL中现有的系统标准协议COPY到新建的程序中,再作修改,当然也可重新编制。 在新建的程序的DEVICES中选择所用的PLC型号, 通讯口A参数设置方式为:PROTOCOLMACRO;并以仪表的通讯格式设置波特率等参数。 协议宏程序中有若干内容:主要是发送信息列表;接受信息列表;这两个表是协议宏的基本程序。再有就是具体的发送形式和接受形式,其它功能的读写形式,仪表的其它功能的读写形式。 我作了四种,根据仪表协议中的各个格式,编制宏程序,如下: 发送信息列表: ①写数据:SD(01)_1

欧姆龙plc串口 Fins命令协议通讯演示

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王* Fins命令+Hostlink协议通讯实验 一、实验配置 硬件:CPU单元:CJ2M-CPU35 RS232串口选件板:CP1W-CIF01 USB转232连接电缆:CS1W-CIF31 软件:CX-Programmer、串口调试助手UartAssist 二、PC主机直连PLC串口命令帧格式介绍 命令格式 响应格式 PC主机直连PLC的情况下,主机发送命令给PLC,发送命令格式如下:(P54) @:Hostlink协议起始代码 Unit No.:单元号,对应PLC内置串口或串行通讯单元设置的Hostlink单元号。

Header code:在PC主机直连PLC的情况下,头代码为FA Response wait time:设置范围为0~F,单位为10ms,例如设置为2,则响应等待时间为20ms ICF、DA2、SA2:在PC主机直连PLC的情况下,固定为00。 SID:通常设置为00 Fins command code:参考Fins通讯手册P125 读命令:0101 写命令:0102 Text:具体操作内容,读写区域、读取起始地址、数据长度等内容 存储区代码:(参考Fins通讯手册P137)

DM(word):82 W(bit):31 W(word):B1 CIO区(bit):30 Tips:使用Fins指令最大可读取538个字节。 一条命令不能超过1114个字符。 三、串口通讯调试实例 实例1——DM数据寄存器区读写实例; 1、读取D0开始1个通道的值 发送命令:@00FA 000000000 0101 82 000000 0001 7C *↙(回车键)返回命令码:@00FA004000000001010000123447*↙(回车键)

不同类型PLC的串口通讯-12页文档资料

不同类型PLC的串口通讯串口通讯在越来越多的智能仪表,PLC,触摸屏,工控软件(组态王、WINCC),编程软件等等和串口通讯有着直接的关系,因此比较深入的了解串口通讯,有助于我们对这些设备和软件的通讯协议的通讯波特率,起始位,数据位,奇偶校验,停止位的设置。关于计算机的通讯技术,是我们仪表比较前卫又比较较难懂的知识。他更是我们了解平常接触的RJ-45 TCP/IP 通讯的基础。 关于串口通讯的几个概念: 1、串口通讯传送信号的帧数Data Format 串口通讯传送一个字符(一帧数据)包括:一个起始位;7位或8位数据位(大多数设备通讯数据位7、8位居多);一个奇/偶校验位;停止位(1位或1位半或2位)。 2、电脑串口接线 串口的实物和固定通用的引脚定义 DB25芯接头定义 DB9芯接头定义PC串行接口串口定义(db9) PC/AT 机上的串行口是 9 针公插座,引脚定义为: 1 CD <-- Carrier Detect 载波检测 2 RXD <-- Receive Data 接收数据 3 TXD --> Transmit Data 发送数据 4 DTR --> Data Terminal Ready 数据终端准备好 5 GND –– System Ground 信号地

6 DSR <-- Data Set Ready 数据准备好 7 RTS --> Request to Send 请求发送 8 CTS <-- Clear to Send 允许发送 9 RI <-- Ring Indicator 振铃提示 其中2、3、5脚在设备和PLC通讯中经常用到,时常用的接法,必须记住。 在焊接过程中一定要看好排列的次序,分清端脚,现在的DB9芯头分公母头,计算机上一般为母口,配套的接头为头,公母头上都打有端子号,一定要看清焊接。PLC的公母头有的不一样,一定要看清,不要不分公母,造成无法连接接头。 3、智能仪表,PLC,触摸屏,工控软件(组态王、WINCC),编程软件都会 告诉大家自身串口端口的引脚定义。例如承重管理机,F701C,各大几大PLC厂商的串口端口的引脚定义。 从说明书上,可以清楚的可能看出TXD和RXD的引脚定义。波特率,起始位,数据位,奇偶数校验,停止位等等信息,他为我们提供详尽的通讯参数设置。这在组态王和称重管理机的通讯设置上必须保持一致。 其他欧姆龙各种信号的PLC也给出了串口引脚的定义,但西门子通讯不对大家开放串口通讯的引脚协议,在翻阅各类资料总结出他的串口引脚为4,9的485通讯。在连接电脑串口和各类智能仪表或PLC的串口通讯引脚时,电脑的串口引脚TXD和智能设备的RXD相连,电脑的串口引脚RXD和智能设备的TXD相连,即一个设备说,另一个设备听,地线直接连接。由于好多的设备不提供专用的数据通讯线,所以必须手工

欧姆龙串口通信协议-CJ CW CS

一,工作环境 PC或服务器通过串口直接连接欧姆龙PLC。(PLC串口为默认设置) 设置串口参数: 波特率:9600 数据位:7 停止位:2 奇偶校验:偶校验(Even) 流控:无 设置自动换行。 设置ASKII码写入,ASKII码显示。 二,写指令 例如,现在将0x1234,写入PLC的D100内。命令如下: 发送:@00FA0000000000102820064000001123479* 解析:@为固定头 00为PLC地址,默认PLC地址为0,可设定0--31 FA为头编码,可为”FA”“RD”“WR” 00000为5位等待时间,默认为0*10ms 0000右到左依次是:ICF\DA2\SA2\SID各占一个字节默认为00 以上基本可以不变; 0102为写入指令;若为“0101”则是读取指令 82为欧姆龙PLC的DM区,即欧姆龙PLC的D区。下图为欧姆龙PLC对应区域的标识。

0064为16进制的100,即D100 00为位地址,即D100.00 0001为要写入的字数 1234为要写入的内容,十六进制的1234 79为XOR校验值。(这个我们最后讨论) *为结束标志。(后面还有一位回车符\CR) 返回:@00FA00400000000102000040* 解析:其他都差不多意思,只有红色的0000表示写入成功。三,读取命令 例如,现在将D50字的内容读出来。命令如下: 发送:@00FA000000000010182002800000176* 解析:蓝色部分不做解析了。 0101为读指令 82为DM区 002800为D50.00

0001为1个字 76为XOR校验值。 返回:@00FA004000000001010000A5A543* 解析:其他都差不多意思,黄色的0000表示读取成功;红色A5A5是从D50读取出来的值。 四,XOR校验位。 欧姆龙的串口校验方式为逐位异或校验。 就以读取指令来说明吧:@00FA000000000010182002800000176* 首先将@00FA0000000000101820028000001的ASKII码逐一转为HEX。(ASKII转HEX表可以在网上查到) 即:40,30,30,46,41,30,30,30,30,30,30,30,30,30,30,31,30,31,38,32,30,30,32,38,30,30,30,30,30,3 1。将以上的值逐一进行异或运算,得出结果76。将该值放在@00FA0000000000101820028000001后,再加上结束标识*。即可得出指令。

欧姆龙通信

西门子WinCC-Flexible 2008中文版 欧姆龙CP1E RS-232通信的接线与设置 18 记录工控发表评论 目前串口通信的应用非常广泛,比如PLC和工控机或者和触摸屏之间的通信基本上都是串行通信。现在电脑端都采用DB9接口,各针定义如下: 1:DCD(载波检测);2:RXD(接收数据);3:TXD(发送数据);4:DTR(数据终端准备好); 5:SG(信号地);6:DSR(数据准备好);7:RTS(请求发送)8:CTS(清除发送);9:RI(振铃指示)。 在实际应用中,通常只用到RXD,TXD和SG就可以通讯了。电缆线的制作也挺简单的,下面是接线方式: PLC PC 2 ————2 3 ————- 3 9 ————- 5 同时PLC端4,5短接,这样一根通信电缆就制作好了。欧姆龙串口引脚定义如下:

串口通信应用中还要懂得一个概念性的东西,什么是单工,半双工,全双工? 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。 如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。 最后在复制一段DB9接口的由来: DB接口(计算机硬件) D型数据接口连接器,用于连接电子设备(比如:计算机与外设)的接口标准。因形状类似于英文字母D,故得名D型接口。按照接口数量细分为A型(15针),B型(25针),C 型(37针),D型(50针),E型(9针)。因此常见的计算机并口即为DB25针的连接器。而串口则应为DE9针连接器。由于早期的计算机的串口与并口都是使用DB25针连接器,而人们则习惯把字母B与D合在一起记了下来,当作D型接口的共同名字,以至于后来计算机串口改用9针接口以后,人们更多的使用DB9而不是DE9来称呼9针的接口。这一习惯进一步推广的结果就是如今人们使用DBxx来代表D型接口,数字xx则为接口的针数。电脑上常见的DB接口有:串行通信接口RS232 9针–DB9显示器VGA 15针—DB15并行打印机LPT 25孔–DB25 zylew PLC, RS232, 串口, 欧姆龙

欧姆龙CPU自带232口与第三方设备通信实验

编号:20150822 实验报告 课题名称:欧姆龙CPU自带232口和第三方设备通信实验单位(盖章): 技术部 实验时间:

目录 实验目的: (3) 实验设备: (3) 实验流程: (4) 实验步骤: (4) 一、硬件电路搭建 (4) 二、软件设置 (6) 三、无协议收发功能的测试。 (7) 四、第三方设备协议分析 (10) 五、CS1D-CPU67S读取仪表动态数据实例。 (12) 六、FCS(帧校验和)指令的使用。 (14) 七、通过CPU计算校验码获取SWP数据 (16) 八、结论 (19) 注意: (19)

欧姆龙CPU自带232口和第三方设备通信实验实验目的: 了解欧姆龙PLC CPU自带RS232口和第三方设备的通信。本实验以欧姆龙PLC CS1D-CPU67S和昌辉SWP系列仪表为例进行测试。 实验设备: 本次实验设备见表1。 注1:欧姆龙PLC RS232口和上位机串口线的连接方式见图1。 图1-欧姆龙PLC RS232口和上位机串口线的连接方式

实验流程: 实验步骤: 一、硬件电路搭建 1、实验设备电路搭建如图2所示。 图2-实验硬件电路搭建图 2、CPU 单元设置: CPU 单元设置见图3,将所有的DIP 开关都置为OFF 。 电源模块 以太网模CPU 主底板 昌辉SWP 系列仪表 硬件电路搭建 件 无协 收 发能测试 第三设备议分析读取仪数据实例FCS 令校码计算 通过FCS 指测试

图3-CPU模块DIP开关设置图 3、以太网模块设置: 在该实验中,由于我们将用到CPU自带的RS232口和第三方设备(昌辉仪表)通信,因此对CPU的编程等操作选定为以太网方式。以太网模块的单元号和节点号设置见图4,该实验中设定的IP地址为:192.168.250.1。 图4-以太网模块设置图

相关主题
文本预览
相关文档 最新文档