版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

一、 说明

欧姆龙包括网口和串口两种通讯方式

欧姆龙PLC通常包括网口和串口两种通讯方式

  • 网口,其中通过网络通讯的协议有两种:Fins/TCP和Fins/UDP。我们目前的驱动仅支持:Fins/TCP网络方式,不支持Fins网口,通常是CP1H以太网。协议:
  • Fins/TCP
  • FINS/UDP
    • 和FINS/UDP方式相比,FINS/TCP具有更好的可靠性,但是不如前者的效率高
    • 电脑和PLC通讯,通常都是电脑做为客户端,PLC作为服务器端
  • 串口

协议为:Fins-tcp

《omron驱动》该驱动通讯方式为串口或网口

...

  • 串口。暂不支持


驱动名称:bin/drivers/omrondriveromronfinsdrv/ omrondriveromronfinsdrv.exe

二、 驱动配置

在驱动中,增加一个名称和模块名称均为omrondriver的驱动。在驱动中,增加一个名称和模块名称均为omronfinsdrv的驱动。

三、 设备配置

在驱动omrondriver下增加一个设备,如ormon1在驱动omronfinsdrv下增加一个设备,如ormon1

CJ2M等具有网络,进行网口配置

  • 连接方式选择:tcp客户端
  • IP:PLC的网口 的IP地址,如不知道可以参考欧姆龙PLC编程软件说明,通过USB连上去查看或修改
  • 端口:端口:缺省为9600
  • param1配置单元站号 由PLC决定其他参数:不需要配置

CP1E等具有串口,进行串口配置CP1E等具有串口,进行串口配置(暂不支持)

  • 连接方式选择:serial
  • 波特率:按照欧姆PLC CX-P所配置大小,默认9600
  • 一般默认配置偶校验,数据位7,停止位2
  • 如下 parity=even;databits=7;stopbits=2
  • param1配置单元站号 由PLC决定

四、 变量配置

增加变量所需要配置的属性

变量名称:按照项目规范设计的字符串

设备:选择刚刚配置的设备

周期:根据需要而定,缺省为1秒

可控制:使能用户点表的地址,


寄存器长度说明:

  • 地址是数据的第一个字节的起始地址,数据长度取决于eview的数据类型,通常是:
    • 1位(bool类型)
    • 1个字节(uchar,char)
    • 2个字节(uint16,int16)
    • 4个字节(int32,uint32,float)
    • 8个字节(double)
  • 寄存器中除IR类型以4个字节为单位
  • 其余都是以字(2个字节为单位)
  • 寄存器地址从0开始,如D:0
  • 其中:CIO、WR、HR、AR、DM可以按位获取数据或控制,其他类型不能按位控制,但可以按位获取数据。按位获取的位序号从0到15

常用寄存器有:

  • DM数据区域,变量地址示例:
      DM
    • CIO,单位:字(2个字节)。用户给的点表地址,可能是CIO:xxx.xx,也可能是I:xx.xx,这个类型也对应CIO
      • eview地址按字节或双字示例:CIO:30,CIO数据块的第30个数据。数据长度取决于eview的数据类型。
      • eview按位取示例:CIO:30.1,CIO数据块的第30个数据的第2位。最小位0,最大位15。数据长度取决于eview的数据类型,按位必须是BOOL。
    • WR,HR,AR,PV,CF,IR,DR,EM
    • 按字:D20,D:20
    • 按位:D20.1,D:20.1
  • CIO,通用IO寄存器。地址示例:
    • 按字:CIO20, CIO:20
    • 按位:CIO20.1, CIO:20.1
  • HR,保持寄存器。地址示例:
    • 按字:H20, H:20
    • 按位:H20.1, H:20.1
  • WR,工作内存区。地址示例:
    • 按字:W20, W:20
    • 按位:W20.1,W:20.1
  • AR,辅助寄存器。地址示例:
    • 按字:A20, A:20
    • 按位:A20.1,A:20.1
    点配置方式:寄存器类型:寄存器地址。示例,如:
    • D:10  CIO:30   WR:10  HR:100

五、 模拟

安装官方CX-Simulator,CX-Programer,可以模拟数据。

...

参考:http://blog.sina.com.cn/s/blog_539cee190102wr4t.html

功能码表:

Image Added

一,握手命令

1、客户端向服务器发送命令00000000。这个命令长20字节,分成5组4字节。分别是:
头(FINS) + 长度(Hex0C) + 命令(00000000)+ 错误码(00000000) + 客户机节点地址(这个地址可以是IP后几位,也可以是随机数或固定数。但要保证和其他客户端不冲突)。
46 49 4E 53是FINS的ASCII码值,即命令头。
在发送区输入:
46 49 4E 53 00 00 00 0C 00 00 00 00 00 00 00 00 00 00 00 05

...

+读操作(01 01)+DM存储区代码(82)+起始地址(00 00 00)+数量( 02 02)
20000005:20是目标地址,05是源地址;
00FF0101 :0101是读操作;
82000000:82是DM存储区代码,000000是起始地址;
0002:是数量。

返回:
返回:34个字节
 46 49 4E 53 00 00 00 1A 00 00 00 02 00 00 00 00 C0 00 02 00 05 00 00 20 00 FF 01 01 00 00 12 34 56 78
 头(46 49 4E 53)+负载长度(26字节,00 00 00 1A)+命令(00 00 00 02:读)+错误码(00 00 00 00)+??(C0 00 02 00)+目标地址(05 00)+原地址(00 20 )+??(00 FF )+读操作(01 01)+操作结果(00 00 )+D0的Hex值(12 34)+数量(D1的值(56 78
00001234:0000代表操作成功,1234是读回的第一个字,即D0=Hex1234, 5678:D1=Hex5678

例2-2、W210寄存器写入Hex0388:
发送:
   46494E53 0000001C 00000002 00000000 80000200 20000005 00FF0102 B100D200 00010388
20000005:20是目标地址,05是源地址;
00FF0102:0102是写操作代码;
B100D200:B1是W字代码,00D2是起始地址,Hex00D2=212,;
00010388:是写入数量,0388是写入首个内容;

回应:
   46494E53 00000016 00000002 00000000 C0000200 05000020 00FF0102 0000
0102后面紧跟的0000代表写入成功。
http://blog.sina.com.cn/hulx
例2-3、W210寄存器读取:
发送:
   46494E53 0000001A 00000002 00000000 80000200 20000005 00FF0101 B100D200 0001
20000005:20是目标地址,05是源地址;
00FF0101:0101是读操作代码;
B100D200:B1是W字代码,00D2是起始地址,Hex00D2=212,;
0001:是读取数量。
http://blog.sina.com.cn/hulx
回应:
   46494E53 00000018 00000002 00000000 C0000200 05000020 00FF0101 00000388
0102后面紧跟的0000代表读取成功,W210=Hex0388
http://blog.sina.com.cn/hulx
例2-4、强制W212.01=On:
发送:
46 49 4E 53 00 00 00 1C 00 00 00 02 00 00 00 00 80 00 02 00 20 00 00 05 00 FF 23 01  00 01 00 01 31 00 D4 01
20 00 00 05:20是目标地址,05是源地址;
00 FF 23 01:2301是强制操作代码;
00 01 00 01:前面的0001是数量,后面的00 01代表强制置位操作;
31 00 D4 01:31是W位代码,00D401是起始地址,Hex00D401:31是W的位代码,00D401是起始地址,Hex00D4.01=212.01。
http://blog.sina.com.cn/hulx
回应:
   46 49 4E 53 00 00 00 16 00 00 00 02 00 00 00 00 C0 00 02 00 05 00 00 20 00 FF 23 01  00 00
2301后面紧跟的0000表示操作成功。

...