Gcs Communication User Manual--总览


从21年10月份创建项目到1.0功能基本完成(包括设计,开发,测试),耗时已经有3个多月,开发效率非常低,基本都是利用零碎时间完成,废话不多说。

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
  • TTStand 2.5.3.3 or later

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

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

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

3. 图形界面

下图展示了Gcs Communication功能块:

主要功能块:

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

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

4. 主设置

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

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

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

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

TTStand变量通过 '^'符号进行标记,同时支持和其他指令混合存在,这部分都由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环境中执行都可以。

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

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

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

总结:

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

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

文章出处:https://www.cnblogs.com/YourDirection/p/15798144.html

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
管理员
上一篇:使用.NET 6开发TodoList应用(28)——实现应用程序健康检查
下一篇:[WPF] 用 Effect 实现线条光影效果
评论列表

发表评论

评论内容
昵称:
验证码:
验证码
关联文章

Gcs Communication User Manual--
SAP S/4HANA MM模块培训 46 - 采购输出确定:消息条件、打印预与Output Management
微信支付:Http头缺少Accept或User-Agent
User-Agent(UA)集合
SAP S/4HANA MM模块培训 14 - MRP执行方式:计划、单项计划与交互式计划
C#使用SMTP腾讯企业邮箱发送邮件465端口是提示超时(号外!号外!587、587、587)
C#日期操作-星期(week)相关
C#获得当前日期是一年中的第几周
20260610升级指南
ag-grid本地js引用 下载地址
Jenins Git配置
Rocky编译安装指定版本OpenVPN
Python Selenium Firefox 代理设置
记一次 .NET 某市附属医院 Web程序 偶发性CPU爆高分析
SAP S/4HANA MM模块培训 26 - 库存预留:自动预留、MB21与261领料
Python Selenium使用火狐浏览器驱动
FastReport针式打印机纸张调试
Macros $(DevEnvDir), $(SolutionFileName), $(SolutionPath), $(SolutionDir), $(SolutionName), $(SolutionExt) are not defined during publish. Worked fine during build
20210914 更新日志
SAP S/4HANA MM模块培训 45 - 可用性检查与缺件检查:静态、动态与收货通知

热门标签
.NET Core .NET Reactor ag-grid AI发布 api安全 ASP.NET Core C#DLL加密 C#播放声音 C#代码混淆 C#代码加密 ChromeDriver Codex DateTime DBeaver devexpress devTool DLL混淆 edge.js EF EFCore Electron element-ui el-form el-table excel FastReport FileStream FolderBrowerDialog FolderSelectDialog form提交 git gridcontrol gridview input javascript json字符串 JS转换对象JSON jwt JWT授权 linq log Math MCP mitmproxy MVC MySQL Navicat netstat nginx node_modules NSwag Nuget Nuget镜像 number PowerShell pyinstaller python pythoncom python爬虫 python抓包 pywin32 redis Requests-html RestSharp Selenium sql SQL Server Swagger to-cms Visual Studio VSCode vue VueRouter vue路由 VUE页面通讯 Webpack Windows Windows服务 winform wmi xlrd yaml YESCMS YESWEB开发框架 白象 表单提交 播放声音 打开URL 代码混淆 弹窗提醒 端口占用 对象转换 分布式 公共字典 机器码 进程排查 静态资源 开发指南 路由参数 密钥 配置教程 配置文件 权限 人工智能 任务 任务调度 日期间隔 日志 日志记录 省市区 授权验证 数据库 四舍五入 文案 文件读取 文件夹选择 文件目录选择 问题排查 行政区域数据 页面通讯 中间件 CSharp 事务锁 工单系统 并发控制 重复提交 CMS Markdig Markdown markdown-it marked 技术选型 VS Code 开发工具 源代码管理 版本控制 Docker PostgreSQL 时区 部署排查 CMS架构 EF Core 主题系统 二次开发 插件系统 容器 运维命令 镜像清理 Linux NAS 远程挂载 飞牛 fnOS S/4HANA SAP GUI SAP HANA SAP R/3 SAP入门 SAP版本 ERP SAP SAP MM 库存管理 物料管理 采购管理 入门教程 SAP S/4HANA SPRO 企业结构 采购组织 MM01 物料主数据 物料类型 BP分组 业务伙伴 供应商主数据 ME41 RFQ 库存物料 采购流程 ME51 消耗性物料 科目分配 采购申请 AC03 ML81N 外部服务 服务主数据 Business Partner SAP培训 ME51N MM模块 Lean Services MM-SRV 外部服务采购 PIR 供应来源 采购主数据 采购信息记录 ME31K 框架协议 计划协议 采购合同 ME01 供应来源确定 货源清单 MEQ1 供应源确定 配额安排 配额评分 MD04 MD21 MRP 计划文件 需求计划 批量程序 MD01N MD02 MRP Live MD05 MM 物料计划 优化采购 供应源 采购订单 ME2A 供应商确认 采购监控 Flexible Workflow 凭证释放 采购审批 释放策略 实地盘点 物料凭证 货物移动 MIGO 收货 移动类型 已撤回 供应商退货 货物发出 STO 库存转储 转移过账 生产订单 预留 GR/IR MIRO 供应商发票 物流发票校验 OMR2 税码 FI PP SD 实操教程 MRBR OMR6 发票差异 交货成本 后续借记 MI01 实物盘点 盘点差异 公司代码 工厂 组织结构 OMS2 主数据定制 自动科目确定 BP角色 CVI 伙伴确定 编号范围 凭证类型 字段选择 FBN1 OMBT OMC2 会计凭证 OMJJ BOM 委外加工 项目类别L MRKO 供应商寄售 特殊库存K MRKON PIPE Pipeline 特殊库存P ERS MRIS 发票计划 周期性结算 里程碑付款 变更追踪 版本管理 采购凭证 SFTP WebDAV 网盘 飞牛fnOS AMPL HERS MPN 中文教程 库存确定 可用性检查 缺件检查 Output Management 消息确定 输出确定 分割评估 库存计价 评估类别 评估类型 PB00 RM0000 条件技术 采购定价 MM-FI集成 OBYC 库存估价 文本类型 文本采用 EFB EVO MSV SU3 用户参数 发票校验 合同参照 履约保留款 特别总账 预付款 Fiori Launchpad SAP Fiori 应用导航 用户体验 LSMW LTMC Migration Cockpit 数据迁移 BRFplus OPD Output Control My Inbox 审批流程 灵活工作流 SAP PP 外部加工 SAP QM 检验批 质量信息记录 采购收货 SAP PM 维护BOM 维护订单 SAP SD SAP Service 端到端流程
联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码