版本比较

标识

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

...

  • 地址是数据的第一个字节的起始地址,数据长度取决于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

常用寄存器有:

PLC数据类型和eview数据类型的对应关系

PLC数据类型eview数据类型说明

int32

uint32


















  • DM数据区域,变量地址示例:
    • 按字:D20,D:20, 数据类型:int32/uint3220,数据类型:参考上表
    • 按位:D20.1,D:20.1, 数据类型:bool数据类型:通常bool
  • CIO,通用IO寄存器。地址示例:
    • 按字:CIO20, CIO:2020,数据类型:参考上表
    • 按位:CIO20.1, CIO:20.1, 数据类型:通常bool
  • HR,保持寄存器。地址示例:
    • 按字:H20, H:2020,数据类型:参考上表
    • 按位:H20.1, H:20.1, 数据类型:通常bool
  • WR,工作内存区。地址示例:
    • 按字:W20, W:2020,数据类型:参考上表
    • 按位:W20.1,W:20.1, 数据类型:通常bool
  • AR,辅助寄存器。地址示例:
    • 按字:A20, A:2020,数据类型:参考上表
    • 按位:A20.1,A:20.1, 数据类型:通常bool

错误处理

  • log日志在握手中返回了错误码:36(0x24)。查询下表,得到错误信息为:相同的FINS节点地址已经被使用。

    • 这个意思是说,客户端地址码在服务端已经注册了。客户端地址码应该是IP的最后1段,服务端已经登记了这段IP给其他客户端使用

    • 解决方法:程序中握手返回错误码时,会自动重新生成1个客户端码,这样总能遇到1个未登记在服务端的客户端码
  • log日志下面是正常的提示,不是错误: [INFO][2424] **************成功解析一个完整包,握手返回,返回的客户端地址:197 ,服务端地址:15!(设备名:YPLC15,块名:CIO_group_17, 事务号:31597)
  • log提示错误,读取不到数据:[ERROR][29fc] 收到读写响应包, 操作号:257, 操作结果:64<>0(设备名:YPLC12,块名:D_group_15, 事务号:1)
    • 查询通信文档英文版,这个64=0x40=01000000,该位表示的可能是:1: Special I/O Unit error

...