Eu63-Collecter Euromap63协议采集接口实现
项目仓库:https://github.com/tang0-0/Eu63-Collecter
Euromap 63协议认识:https://blog.youkuaiyun.com/lblmlms/article/details/129431977
Euromap63-IMM模拟器:<>
Eu63-Collecter:<>
特点
- C语言编写,无外部库依赖
- 支持Connect、Report、Set命令
实现思路
- 整个协议交互是基于对共享文件的操作,本组件只实现文件操作,不包含网络传输部分
- 首先创建一个共享文件夹,然后在里面为每个注塑机建立单独的文件夹
- 每个请求分为以下步骤:
- 写会话层文件
- 写表示层文件
- 等待注塑机删除会话请求文件
- 读取会话响应文件
- 读取表示层响应文件
- 读取应用层文件(如果有)
- 文件读写采用C语言标准库接口,监听文件是否删除采用Linux系统的inotify机制
- 参数的传入传出采用链表结构存储
使用例程
每隔一分钟发起一个Report请求,每次请求都包含Connect命令。
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "../Src/eu63_collecter.h"
static char *param_name[] = {
"ABC001", "ABC002", "ABC003", "ABC004"};
static void print_param_value(eu63_param_list *list)
{
ty_list_t *pos, *n;
eu63_report_param *param;
ty_list_for_each_entry_safe

该文介绍了一个基于C语言编写的Eu63-Collecter,实现了Euromap63协议的采集接口,无外部库依赖,通过文件操作进行协议交互。利用Linux的inotify机制监听文件删除,主要用于与注塑机的通信,包括Connect、Report和Set命令。示例代码展示了如何每隔一分钟发起Report请求。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



