server_u(server_unreachable什么意思)

U-con(User Configuraable)

一般来说,我们在日常的项目中碰到的底层设备,使用的都是标准的协议。所谓的标准协议就是通信双方约定俗成的一组规则,是通信双方必须共同遵从的一组约定。比如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,设备之间才能相互通信交流。它的三要素是:

语法:即数据与控制信息的结构或格式;

语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;

时序:事件实现顺序的详细说明。

然而并不是所有设备都遵循标准的协议,在实际项目中,我们会碰到很多非标准协议的通讯设备,这时 KEPServer 上的标准的驱动程序就无法适应这些设备的通信。但是 KEPServer 的相关开发人员已经考虑到这种情况,使用者可以通过 u-con driver 配置出合适的通信报文。下面我们针对这种场景的实际使用做出详细说明:

1.1 U-con 配置

1)新建一个 channel,选择 U-con driver;

server_u(server_unreachable什么意思)

新建channel信道

2) 配置串口属性,之后就一直是“下一步”即可;

server_u(server_unreachable什么意思)

配置串口属性

3) 新建一个 device,一直“下一步”即可;

4) 配置通信报文,双击device,在弹出的对话框中选中“Transaction Editor”;

server_u(server_unreachable什么意思)

报文编辑

5) 在弹出的对话框中,新建一个 tag;

server_u(server_unreachable什么意思)

创建标记点

server_u(server_unreachable什么意思)

成功创建标记点

6) 当成功创建后,就要编辑 tag 的读写命令,这个要根据设备供应商提供 的资料文档而定。比如有些设备读取数据的方式是一问一答,这就要上 位机程序发送读命令告诉设备要读取的数据。有些设备是不管有没有上位机程序连接,一直往外发送数据,这时上位程序只需要解析数据包即可。这里为了介绍方便,设备是采用一问一答的方式,同时读命令为 “>00VD0284”,响应报文“<00VD028400001234”,写命令“>00WD0284+ 数据”,响应报文“<00VD0284+数据”;

server_u(server_unreachable什么意思)

编辑 tag 的读写命令

server_u(server_unreachable什么意思)

写字符命令配置

server_u(server_unreachable什么意思)

读取响应报文属性配置

server_u(server_unreachable什么意思)

更新标记点属性配置

7) 构造写命令

server_u(server_unreachable什么意思)

构造写命令

8) 保存编辑

server_u(server_unreachable什么意思)

更新服务器

server_u(server_unreachable什么意思)

保存配置

9) 新建标记点

server_u(server_unreachable什么意思)

新建标记点

到此,u-con 的基本配置就结束了,当然 u-con 还有很多强大的功能并没有使用上,相关的功能只能等待以后用到才能一一了解。

1.2 u-con 的细节应用

1)Communication diagnostic 当编辑好设备的通信报文,可以通过连接设备检验编辑的正确性。但是如果身边没有设备可用或者发送的命令,设备却没有响应,这时可以通过查看通信报文来检查。KEPServer 提供一个 Communication diagnostic 给使用者查看发送 和接收的报文。

A. 启 用 Communication diagnostic , 双 击 channel ,点击 General-Enablediagnostic;

server_u(server_unreachable什么意思)

启用diagnostic

B. 打 开 Communication diagnostic ,点击工具栏 view-Communication diagnostic;

server_u(server_unreachable什么意思)

view-Communication

1.3 KEPServer 使用延伸

项目中使用 KEPServer,碰到一些使用上的问题,通过查找资料、KEPServer 技术人员指导和自我的测试验证,总算得到解决,以下是问题和解决方法:

1) Q:(mobdus 协议)按照设备资料提供的地址,添加点,发现不能如期采集到设备数据?

A:在资料提供的地址基础上加 1,极个别设备有可能要加 2(就是一些寄存器起始地址为 0,而又用双字存储数据的设备),因为对于 mobdus 协 议来说,0 这个地址是作为广播地址,因此不能用作寄存器地址,所以无 论哪种模式下的 mobdus 协议的起始地址都为 1。

2) Q:在地址正确的提前下,发现读取的数据有误?

A:针对不同协议或者设备,在保证地址正确的前提下,还应该检查数据类 型,比如西门子 s7-200 的 m 开头的地址就可以有几种类型选择,所以在 选择地址的数据类型时最好看一下帮助文档,同时还应该根据设备的寄 存器或者数据来选择对应的数据类型,比如实际数据有正负之分,就应 该选取 short 等有符号类型,又或者数据实际范围只有 0~128,就选择 byte 等。

3) Q: 在地址和数据类型都正确的前提下,读取的数据仍然有误?(数据是双 字,即 floatDword 等 32位的数据类型)。

A:这时可以考虑是不是设备的数据高低位和 KEPServer 数据的高低位不一致,可以通过 device 的属性——setting-Data encoding,表示数据编码。

server_u(server_unreachable什么意思)

数据高低位设置

4) Q:在不添加数据处理程序时,对数据进行初步的处理?

A: 可以对每个 tag 的属性scaling 进行设置,比如选择线性变化时,可以 通过设置 Raw Value Range 的 High 和 Low 来对原始数据进行放大缩小。

Linear 公式:

(((ScaledHigh – ScaledLow)/(RawHigh – RawLow))*(RawValue – RawLow)) + ScaledLow;

Square root 公式:

(Square root ((RawValue – RawLow)/(RawHigh – RawLow))*(ScaledHigh – ScaledLow)) + ScaledLow。

server_u(server_unreachable什么意思)

tag 的属性scaling设置

5) Q:因为某一设备通讯中断,导致同一 channel 下面的其他设备通讯阻塞?

A: 在同一信道下的 device,KEPServer 是采取轮询的方式通讯的,但是对于每个信道,却是并行的,因此最好的办法是采取每个信道对应一个device。但是根据 KEPServer 技术人员所说,可以通过设置 device 属性Auto-Demotion(自动降级),让该设备不阻塞同一信道下的其他 device。

server_u(server_unreachable什么意思)

设置 device 属性Auto-Demotion(自动降级)

6) Q:在 Datalogger 中,把所有信道的 device 放在同一个 Logger,发现某些设备数据不记录而某些设备却能记录?

A: 跟信道下设备阻塞一样的道理,因为在同一个 Logger 下,所有的 tag 都是以轮询的方式进行,当某一个 tag 的通信质量为 bad 时,就会阻塞下 面的 tag,为了避免这种情况最好的方法是每个 device 对应一个 Logger。

7) KEPServer 的设置或者配置,有些是可以在运行过程中修改的,有些是不可以,当碰到不可以的情况时,如果修改只保存没有重新启动,KEPServer 只以没修改前的设置进行运作。

    

使用无须实名的阿里云国际版,添加 微信:ksuyun  备注:快速云

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 cloud@ksuyun.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.hanjifoods.com/18709.html