secs/gem协议系统通讯平台

金南瓜SECS/GEM是一款适用于全自动智能设备的通讯平台,支持C、C++、C#、Labview等多种编程语言。本文档详细介绍了产品的功能、软件获取与许可、开发环境以及C/C++和C#的二次开发教程,帮助开发者快速进行SECS/GEM的集成和应用。
摘要由CSDN通过智能技术生成

第一章   产品简介

1. 产品介绍

金南瓜SECS/GEM是最适应于全自动智能设备的选择。 DMS SECS/GEM具有怪兽级的强劲性能,全面升级的高适应性,易用友好的SECS工具,利于快速开发部署。

         金南瓜SECS/GEM兼容运行在独自工控机,或与设备软件集成在一台工控机,让用户灵活应对各种使用场景。

      

2. 软件清单与展示

 

全部软件目录清单

2.1软件清单

1       SECS/GEM用户

提供EquipViewApp.exe和HostViewApp.exe俩款demo软件,分别对应的场景是设备端和主机端模拟。

移植所需文件

        

 

红色框内为所需文件

2.      PLC SECS/GEM用户

提供EquipViewApp.exe、 PlcSecsControlView.exe和HostViewApp.exe软件,分别对应的场景是设备端、PLC连接器和主机EAP端模拟。

3.      GEM300用户

额外提供EquipViewApp300.exe和HostViewApp300.exe测试软件,分别对应的GEM300设备端和主机端模拟。

2.2 模拟软件展示

1.      设备端模拟软件EquipViewApp

 

4.      SECS/GEM300模拟软件EquipViewApp300

 

5. 其他软件

  1. 后台服务进程JNG_Server.exe

2.3 其他文件介绍

  1. SecsConfig 文件夹中主要的文件
    1. licenses.ini 为运行许可,可选用加密狗或licenses.ini方式授权
    2. 配置文件:
      1. Alarm.csv 为警报信息表(ALID)
      2. EC.csv 为设备常量表(ECID)
      3. Event.csv 为设备常量表(CEID)
      4. SV.csv 为用户软件的设备常量表(SVID/VID)
  2. PlcSecsData文件夹为PLC的配置档,保存客户与PLC通讯的各类数据。

3. 开发环境

1. 编程语言

主流语言 C、C++、C#、Labview

2 运行环境

                   Windows XP SP3

windows 7

windows 10

3 开发工具

LabVIEWVC6.0QTVisual Studio 2008及以上

4 硬件环境

硬件:

         PC工控机

接口:

RJ45或者光纤以太网网口 1个

第二章   软件使用

4. 软件获取

4.1 获取金南瓜SECS SDK

用户可以在我们的网站上下载开发包文件。

http://www.secsgem.cn

下载地址http://download.semisecs.com               

4.2 获取运行许可

1.      如果为加密狗方式,将加密狗插入USB接口即可

2.      运行文件许可方式

  1. 运行licenseClient获取PC的序列号GUID

  1. 将获取到的GUID发送给厂商
  2. 将金南瓜给予的license替换/JngServer/SecsConfig/license.ini文件夹里面原来的许可。

4.3 软件使用

1. 参考 “Demo使用介绍书(日期).pdf”操作使用书

第三章   开发指导

5 软件交互流程

SDK与设备软件交互关系图

5.1 初始化SECS/GEM SDK模块

1. 初始化SDK dll模块

2. 设置各类参数、回调函数等

3. 设置控制模式(OFFLINE或ONLINE)

4. 启用通讯

​​​​​​​ ​​​​​​​

 

初始化流程

5.2 SECS/GEM SDK与设备之间交互

1. 通讯状态发生改变时,SDK通过回调函数实时反馈给设备

         例如:

                   通讯状态

                   控制状态

2. 设备发生事件时,调用EventPos API通知SDK

3. 设备发生Alarm时,调用Alarm Set API通知SDK

4. 服务器发送远程命令给设备,SDK通过远程命令回调函数通知设备

 

6 数据配置

作用:

         SECS/GEM 将变量、事件、警报等数据含义配置给SDK

配置文件目录:

         SECS/GEM在../JngServer/SecsConfig/当中

类型映射表

secs code

JNG 类型代码

Meaning & Examples

00

L

List类型

10

B

binary - unsigned 8 bit data:

二进制类型  

         "0x00"

         "0x01 0x02 0x03"

11

TF

boolean data:

布尔类型

TF 1 非零代表true

TF 0 零代表false

20

A

Character string data:

ASCII字符串类型

“A {hello world}”

“A hello”

30

I8

8-byte signed integer

31

I1

1-byte signed integer

32

I2

2-byte signed integer

34

I4

4-byte integer signed

40

F4

8-byte floating point

44

F8

4-byte floating point

50

U8

8-byte unsigned integer

51

U1

1-byte unsigned integer

52

U2

2-byte unsigned integer

54

U4

4-byte unsigned integer

6.1 变量添加

通过SV.csv方法添加

  1. ID建议
  2. TYPE类型:L、A、TF、B、U1、U2、U4、I1、I2、I4、F4、F8
  3. CLASS一般为SV
  4. Int value 一般为空
  5. Units为单位
  6. callback为通过回调方式访问最新值

 

6.2 事件添加

通过Event.csv方法添加

 

6.3 警报添加

通过alarm.csv方法添加

  1. ID 是唯一性的

7  C/C++二次开发

这部分内容针对于PC端的C++语言二次开发

7.1 编译器配置改动:

8.1.1 编译器 VC6 配置

无需改动

8.1.2 SECS/GEM 编译器 C++ Builder 6 配置

需要修改代码

1. 启用“SecsPortExport.h”的宏定义 #define __CPP_BUILDER__

 

原来没有启用

 

启用宏定义

2. 删除“Group.cpp”、“SecsBase.cpp”和“SecsEquip.cpp”第一行的 #include "stdafx.h"

 

3. SECS/GEM 用C++ Builder 6 的implib.exe将SecsPort.lib转换成C++ Builder 6所能支持的格式

 

 

7.2 初始化SDK

在使用SECS通讯之前需要调用Start函数进行初始化dll模块。

接口:

void Start(string pServerAddr, int nPort);

例子:

m_pSecs = new CSecsEquip();

// 连接服务器

RcResult rc = m_pSecs->Start();

7.3 初始化参数

初始化SECS/GEM通讯的各项参数,例如IP、端口号、device ID等。

接口:

1. SECS连接参数的接口

设置通讯对方的TCP/IP地址

RcResult SetIP(string ip);

</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值