Eu63-Collecter Euromap63协议采集接口实现

这篇具有很好参考价值的文章主要介绍了Eu63-Collecter Euromap63协议采集接口实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Eu63-Collecter Euromap63协议采集接口实现

项目仓库:https://github.com/tang0-0/Eu63-Collecter
Euromap 63协议认识:https://blog.csdn.net/lblmlms/article/details/129431977
Euromap63-IMM模拟器:<>
Eu63-Collecter:<>

特点

  1. C语言编写,无外部库依赖
  2. 支持Connect、Report、Set命令

实现思路

  1. 整个协议交互是基于对共享文件的操作,本组件只实现文件操作,不包含网络传输部分
  2. 首先创建一个共享文件夹,然后在里面为每个注塑机建立单独的文件夹
  3. 每个请求分为以下步骤:
    • 写会话层文件
    • 写表示层文件
    • 等待注塑机删除会话请求文件
    • 读取会话响应文件
    • 读取表示层响应文件
    • 读取应用层文件(如果有)
  4. 文件读写采用C语言标准库接口,监听文件是否删除采用Linux系统的inotify机制
  5. 参数的传入传出采用链表结构存储

使用例程

每隔一分钟发起一个Report请求,每次请求都包含Connect命令。文章来源地址https://www.toymoban.com/news/detail-421036.html


#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(param, pos, n, &(list->param_head), param_node)
    {
        printf("%s value:%s\n", param->name, param->value);
    }
}

int main(int argc, char *argv[])
{
    int ret = -1;
    eu63_collecter *collecter = NULL;
    eu63_param_list *list = NULL;

    ret = eu63_create_share_folder();
    if (ret)
    {
        printf("EU63 create share folder failed\n");
        return -1;
    }

    collecter = eu63_collecter_create("IMM01");
    if (!collecter)
    {
        printf("EU63 create collecter failed\n");
        return -2;
    }

    ret = eu63_create_imm_folder(collecter);
    if (ret)
    {
        printf("EU63 create imm folder failed\n");
        ret = -3;
        goto _error;
    }

    list = eu63_create_param_list();
    if (!list)
    {
        printf("EU63 create param list failed\n");
        ret = -4;
        goto _error;
    }

    eu63_report_param *param = NULL;
    for (int i = 0; i < 4; i++)
    {
        param = eu63_create_param();
        if (!param)
        {
            continue;
        }

        strncpy(param->name, param_name[i], sizeof(param->name));
        ty_list_append_head(&list->param_head, &param->param_node);
        list->req_count++;
        printf("Append %s to param list\n", param->name);
    }

    if (0 == list->req_count)
    {
        printf("EU63 param list is null\n");
        ret = -5;
        goto _error;
    }

    while (1)
    {
        printf("REQ report file\n");
        ret = eu63_execute_report_req(collecter, list);
        if (!ret)
        {
            print_param_value(list);
        }
        else
        {
            printf("EU63 REQ report failed\n");
        }

        sleep(60);
    }

_error:
    if (collecter)
    {
        eu63_collecter_free(collecter);
    }
    if (list)
    {
        eu63_free_param_list(list);
    }

    return ret;
}

到了这里,关于Eu63-Collecter Euromap63协议采集接口实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA实现SPI协议基于ADC128S022进行模拟信号采集

    使用vivado联合modelsim实现SPI协议基于ADC128S022进行模拟信号连续采集。 SPI是串行外设接口,是一种同步/全双工/主从式接口。通常由四根信号线构成: CS_N :片选信号,主从式接口,可以有多个从机,用片选信号进行从机选择; SCLK :串行时钟线,由主机提供给从机; MISO :主机

    2024年02月14日
    浏览(46)
  • 基于USB总线技术的数据采集系统接口——FPGA实现Matlab

    基于USB总线技术的数据采集系统接口——FPGA实现Matlab USB总线技术是一种常用的数据传输接口,广泛应用于各种设备和系统中。在数据采集系统中,USB接口可以用于连接外部传感器、测量设备等,将采集到的数据传输到计算机或其他处理设备上进行处理和分析。本文将介绍如

    2024年02月08日
    浏览(54)
  • 基于 JESD204B 协议ARM+FPGA+AD多板卡多通道同步采集实现方法

    0 引言 随着数字化信号处理技术的不断进步,对数字信号 的处理已经成为当前大多数工程应用的基本方法。由于 模拟信号才是现实生活中的原始信号,为了工程研究实 现的可能,需将模拟信号转换为数字信号才能在工程中 处理,AD 转换作为模拟信号转换为数字信号的关键环

    2024年02月09日
    浏览(50)
  • 通过IoT-Fast使用IEC 104电力规约协议快速实现采集、上云、组态场景搭建

    本文分享一篇通过IoT-Fast软件完成IEC 104规约设备的数据采集案例。文章主要共分为五个部分: 前期准备 IEC 104规约设备网络通信部署,获取采集点位。 IoT-Fast -采集控制系统 对底层设备进行数据读取、写入的配置界面,还可以进行数据处理。 IoT-Fast -云平台 将采集控制系统收

    2024年01月18日
    浏览(72)
  • STM32通过I2C接口实现温湿度(AHT20)的采集

    学习I2C总线通信协议,使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。具体任务: 1)解释什么是“软件I2C”和“硬件I2C”? (阅读野火配套教材的第23章“I2C–读写EEPROM”原理章节) 2)阅读AHT20数据手册,编程实现:每隔

    2024年02月03日
    浏览(53)
  • MFC+Modbus-Tcp协议实现温湿度传感器采集 二、libmodbus驱动库

    本文简单介绍 MFC 使用 Modbus -Tcp通信实现 RS-WS-ETH-6 系列 MODBUSTCP 型温湿度传感器采集数据。  一文看懂Modbus协议:一文看懂Modbus协议  libmodbus驱动库的使用:Modbus驱动库—libmodbus驱动库的使用_whik1194的博客-CSDN博客_libmodbus  modbus 中文手册: libmodbus官方手册中文翻译_跃动的风

    2024年02月02日
    浏览(53)
  • 基于 Socket 接口实现自定义协议通信

    访问【WRITE-BUG数字空间】_[内附完整源码和文档] 根据自定义的协议规范,使用 Socket 编程接口编写基本的网络应用软件。 掌握 C 语言形式的 Socket 编程接口用法,能够正确发送和接收网络数据包 开发一个客户端,实现人机交互界面和与服务器的通信 开发一个服务端,实现并

    2024年02月06日
    浏览(43)
  • 用Python搞定接口自动化测试:轻松实现RPC协议接口测试

    每天进步一点点,关注我哦,每天分享测试技术文章,文末有福利! 目录:导读 前言 一、什么是RPC 二、RPC框架 三、基于grpc框架服务的接口测试 01创建一个grpc服务接口 02调用grpc接口客户端 03接口框架中适配grpc封装 四、基于dubbo框架服务的接口测试 01、dubbo服务管理简单使

    2024年02月01日
    浏览(101)
  • 63.网游逆向分析与插件开发-游戏增加自动化助手接口-自动化助手UI与游戏菜单的对接

    内容来源于: 易道云信息技术研究院VIP课 上一个内容:游戏公告类的C++还原-CSDN博客 码云地址(master分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:19a2828def451a280ee211c62dcd1074ed422054 代码下载地址,在 SRO_EX 目录下,文件名为:SRO_Ex-自动化助手UI与游戏菜单的对接.

    2024年02月02日
    浏览(43)
  • Jmeter 接口调试报错 java.net.URISyntaxException: Illegal character in path at index 63

    报错如下:java.net.URISyntaxException: Illegal character in path at index 63: ①、对比分析 把要调试的接口和平常经常调试的接口进行了对比,发现不同点在于,报错的接口URL路径中包含{2}比如 /get/{2},这种一般是路径参数,记得在使用postman的时候貌似直接请求就没问题,但是在Jmeter中请

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包