Gcs Communication User Manual--总览

1. 介绍

设计Gcs Communication主要解决系统集成和测试自动化领域的各种通讯问题,让工程师能快速上手完成产品验证、系统搭建和设备部署。

Gcs Communication基于C# 和 TestStand engine搭建框架,通讯模块会包含常用的通讯协议:ModbusTCP,ModbusRTU,RS232,TCP/IP ,CAN, HTTP , MQTT,SSH等,这些模块都会以插件的形式嵌入通讯平台。

Gcs Communication拥有”编辑“和”运行时“两种模式,在编辑状态下可以编辑具体协议、指令和参数,并可以运行调试,如果命令验证结束即可保存,运行模式下可以直接运行保存的命令及参数。

可以理解为离线调试完,测试程序也已经完成,无需再集成一遍代码。

2. 安装使用

软件需求:

  • .NET Framework 4.6.1 or later

点击exe文件,默认安装即可。

在TestStand环境下使用:打开Development环境,右击插入步骤如下图

 可以右击步骤选择Edit或者直接按快捷键Ctrl+E,打开编辑界面。

3. 图形界面

下图展示了Gcs Communication功能块:

主要功能块:

  1. 主设置
  2. 物理层插件设置
  3. 指令编辑
  4. 结果输出
  5. 编辑控件和状态显示

具体功能会在下面小节一一介绍。

4. 主设置

Socket: 指测试工位号,默认值为1,在运行模式下,该值由TestStand传入。

Task: 默认值为Normal。有些通讯协议需要创建循环帧任务,可以选择非Normal项。

Physical Layer: 直接关联物理层硬件和相应的协议。选择不同,物理层的插件界面会随之切换。

选择不同的插件,插件需要完成:

  • open -> 处理跟硬件建立通讯连接
  • SendMessage -> 处理按照相应的参数发送信息给硬件
  • ReceiveMessage -> 处理接收来之硬件的反馈信息并且判断结果是否Pass or Fail ,通讯平台不负责判断反馈的是否正确,完全由插件负责判断。除非插件由异常发生,平台会停止任务并判定Fail
  • ClearBuffer -> 处理硬件或者软件的缓存信息的清除
  • Close -> 处理跟硬件断开通讯连接

Init: 如果勾选,Gcs Communication会调用对应插件的Open函数。

Send & Receive: 如果勾选,Gcs Communication会调用对应插件执行如下表格中指令的发送和接收任务。

Clear Buffer: 如果勾选,Gcs Communication会将使能信号传递给插件执行,Send & Receive定义的指令是如果是多条,那么没条指令都会执行Clear Buffer任务。

Stop On Fail: 如果勾选,指示有指令Fail,Gcs Communication将停止发送指令,假设只有一条指令,此项将不起作用。

Close: 如果勾选,Gcs Communication会调用对应插件的Close函数。

5. 物理层插件设置

这个区域用于动态加载插件的特有设置,当Physical Layer没有任何定义,这个区域将是空白。

6. 指令编辑

这个区域用于配置和外设、仪器、产品等发送和接收的指令。

这个表格支持多行配置,当"Send & Receive"被勾选,这个区域将被使能。

指令执行的顺序会按照表格定义的顺序。

TagName: 预留功能,后面的版本会支持从数据库加载指令。

MessageToSend: 需要通过插件发送给硬件、仪器或者产品的指令。如果协议支持只读,这项可以为空。

这项可以通过加载TestStand表达式变量,作为需要发送的指令

在MessageToSend区域鼠标右击可以插入表达式,插入的变量类型需要是字符串类型,否则会提示插入变量失败。

TestStand变量通过 '^'符号进行标记,同时支持和其他指令混合存在,这部分都由Gcs Communication负责解析。

ExpectedAnswer:  这条指令期望接收硬件、仪器或者产品的反馈信息,可以为空。

Period(ms):  在物理层期望信息以周期性发送,单位为ms,这项功能取决于插件的功能,不由Gcs Communication负责。默认值为-1,没有周期性发送。

Timeout(ms): 单条指令的超时设置,如果超时,Gcs Communication将判定这步骤Fail。默认值100ms。

Delay(ms):  在当前指令结束后执行这个同步延时,单位为ms,默认值为0。

7. 结果输出

结果输出区域会显示指令执行的结果,将会被展示在一个树形控件中,如下图。

Socket: 执行任务所在的工位号

Result: 可能的值为PASS,FAIL

Actual Answer: 实际从硬件、仪器或者产品反馈的数据

StepName: 当前步骤的名称

Time Stamp(ms): 当天的时间戳,单位为ms

MessageToSend: 请求发送的数据

ExpectedAnswer: 期望接收的数据

Error Info: 指令发生错误的信息

Execution Time(ms): 当前指令执行的时间,单位为ms

8. 编辑控件和状态显示

执行控件->这个区域包含如下按钮:

Run: 执行当前配置的指令。

Save: 保存当前配置的参数和指令

Revert: 将所有配置的参数恢复到初始位置

Cancel: 取消操作,关闭编辑界面,如果有参数改动且未保存的,将不会被保存。

步骤状态结果显示控件:

当指令执行Fail时,可以查看Fail原因。

 

同时在结果显示区也可以查看Fail原因:

9. 菜单

Execution

  • Exit 退出编辑界面。

Tool:

  • Convert 转换指令工具

10. 步骤参数

输入参数:

输入 参数都被保存在Step的容器中,详细如下:

Step.ThreadTask

Step.LogEnabled

Step.Init、Step.EnableSendAndReceive、Step.ClearBuffer、Step.StopOnFail、Step.Close

Step.PhysicalLayerName

 Step.PhysicalLayerString

Step.Tags

Step.MessagesToSend

Step.ExpectedAnswers

Step.Periods

Step.Timeouts

Step.Delays

 输出参数:

Step.Outputs

 

11. Log

当使能Log记录指令发送过程。可以在TesterInfo\logs文件夹下,找到对应插件的log文件。

文件名会以插件名+日期命名。

如下是一条指令log记录的内容:

2022-01-12T19:03:27.2755336+08:00---{"Socket":"1","StepName":"Read Version1","Result":"PASS","MessageToSend":"03 00 0D 00 0A","ExpectedAnswer":"GcsCommunication1.0","ActualAnswer":"GcsCommunication1.0","TimeStamp":"68607274","ExecutionTime":"6.71","Error":""}

12. 运行时模式

运行时模式相对比较简单,在编辑状态下保存的参数,不管单步执行,在Process环境中执行都可以。

在平台的支持下,在生产环境中,可以在线调试Gcs Communication通讯。

使用Interactive Step Into功能,实现可视化在线调试,如下图:

 

 通过这个功能可以清晰的分析运行时通讯失败的原因,提升寻找问题的速度,达到快速解决问题的目的,对已经投产的设备尤为重要!

总结:

Gcs Communicaiton通讯软件的功能已经介绍完成,插件模块功能的介绍将陆续更新,1.9 版本已经实现Modbus TCP、Modbus RTU 、RS232、TCP/IP、SSH

如有疑问和建议,敬请留言...

posted @ 2022-01-13 16:16  NiKaFace  阅读(470)  评论(1编辑  收藏  举报