金南瓜SECS/GEM是最适应于全自动智能设备的选择。 DMS SECS/GEM具有怪兽级的强劲性能,全面升级的高适应性,易用友好的SECS工具,利于快速开发部署。
金南瓜SECS/GEM兼容运行在独自工控机,或与设备软件集成在一台工控机,让用户灵活应对各种使用场景。
全部软件目录清单
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设备端和主机端模拟。
1. 设备端模拟软件EquipViewApp
4. SECS/GEM300模拟软件EquipViewApp300
5. 其他软件
1. 编程语言
主流语言 C、C++、C#、Labview
2 运行环境
Windows XP SP3
windows 7
windows 10
3 开发工具
LabVIEW、VC6.0、QT、Visual Studio 2008及以上
4 硬件环境
硬件:
PC工控机
接口:
RJ45或者光纤以太网网口 1个
用户可以在我们的网站上下载开发包文件。
http://www.secsgem.cn
下载地址http://download.semisecs.com
1. 如果为加密狗方式,将加密狗插入USB接口即可
2. 运行文件许可方式
1. 参考 “Demo使用介绍书(日期).pdf”操作使用书
SDK与设备软件交互关系图
1. 初始化SDK dll模块
2. 设置各类参数、回调函数等
3. 设置控制模式(OFFLINE或ONLINE)
4. 启用通讯
初始化流程
1. 通讯状态发生改变时,SDK通过回调函数实时反馈给设备
例如:
通讯状态
控制状态
2. 设备发生事件时,调用EventPos API通知SDK
3. 设备发生Alarm时,调用Alarm Set API通知SDK
4. 服务器发送远程命令给设备,SDK通过远程命令回调函数通知设备
作用:
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 |
通过SV.csv方法添加
通过Event.csv方法添加
通过alarm.csv方法添加
这部分内容针对于PC端的C++语言二次开发
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所能支持的格式
在使用SECS通讯之前需要调用Start函数进行初始化dll模块。
接口:
void Start(string pServerAddr, int nPort);
例子:
m_pSecs = new CSecsEquip();
// 连接服务器
RcResult rc = m_pSecs->Start();
初始化SECS/GEM通讯的各项参数,例如IP、端口号、device ID等。
接口:
1. SECS连接参数的接口
设置通讯对方的TCP/IP地址
RcResult SetIP(string ip);
设置TCP/IP通讯的端口号
RcResult SetPort(int port);