永宏(FATEK)PLC通讯协议

news2024/11/30 10:38:39

文章目录

    • 背景说明
    • 通讯帧
    • 通讯数据地址
    • 16进制数据元和ASCII的转换
    • 永宏通讯协议举例
      • 命令码40(PLC概略系统状态读取)
      • 命令码41(PLC的RUN/STOP控制)
      • 命令码42(单一个单点运作控制)
      • 命令码43(多个连续单点的抑/致能状态读取)
      • 命令码44(多个连续单点状态读取)
      • 命令码45(多个连续单点状态写入)
      • 命令码46(多个连续缓存器数据读取)
      • 命令码47(PLC的RUN/STOP控制)
      • 命令码48(多个任意单点状态或缓存器数据混合读取)
      • 命令码49(多个任意单点状态或缓存器数据混合写入)
      • 命令码4E(测试回转 loop back)
      • 命令码53(PLC详细系统状态读取)

背景说明

该协议是根据永宏FBs-PLC型号进行测试验证的。参考手册名称是《永宏使用手册Ⅱ进阶应用篇.pdf》,里面有详细的PLC通讯协议介绍,以及通讯案例。下文的介绍大部分都是从手册中截取出来的,仅作学习记录。

通讯帧

通讯均采用ASC码,校验方式采用和校验,现在发现最大帧长521

请求帧格式:报文开始PLC站号命令字地址长度(有些无)地址(有些无)数据(有些无)和校验(两位)报文结束
STX(02H) SLAVE(两位) CMD(两位) LEN(两位)ADDRESS(四位)DATA (2*LEN)SUM EXT(03H)
例子 STX, SLAVE, CMD, LEN,ADDRESS, SUM, ETX,
02H, 30H, 31H, 34H, 34H, 30H, 32H, 30H, 30H, 35H, 30H34H, 41H, 03H
指令解释如下:
STX, SLAVE "44" "02" "0X0050""SUM""ETX"
报文开始 PLC站地址 读命令 02H字字节数据 地址0x0050H处累加方式和校验报文结束
其中 SUM=(STX+SLAVE+CMD......+ADDRESS) =(02H + 30H + 31H + 34H + 34H + 30H + 32H + 30H + 30H + 35H + 30H)= 4Ah 累加和超过两位取低位,转成ascii码,分SUM(upper),SUM(lower)二次传送
![在这里插入图片描述](https://img-blog.csdnimg.cn/eef2c5a20d9444b686de753617600af4.png) ## 通讯命令字
通讯命令字含义:
分类 命令字
命令 HEX 命令解释
基本命令 STX 02H 报文开始
ETX 03H 报文结束
ENQ 05H 通信请求
ACK 0H PLC正确响应
NAK 15H PLC错误响应
基本命令字40 34H,30H PLC概略系统状态读取
41 34H,31H PLC的RUN/Stop控制
42 34H,32H 单一个单点的操作控制
43 34H,33H 连续多个单点的抑\致能状态读取
44 34H,34H 连续多个单点的状态读取
45 34H,35H 连续多个单点的状态写入
46 34H,36H 连续多个缓存器的数据读取
47 34H,37H 连续多个缓存器的数据写入
48 34H,38H 任意单点/缓存器混合状态/数据读取
49 34H,39H 任意单点/缓存器混合状态/数据写入
4E 34H,45H 测试回转
53 35H,33H PLC详细系统参数状态读取

在这里插入图片描述

在这里插入图片描述

通讯数据地址

在这里插入图片描述

16进制数据元和ASCII的转换

在这里插入图片描述
A到Z分别是65到90,16进制则是0x41到0x5A.

地址1 映射通讯地址 地址2 映射通讯地址
X000058H 30H 30H 30H 30HX999958H 39H 39H 39H 39H
Y000059H 30H 30H 30H 30HY999959H 39H 39H 39H 39H
M00004DH 30H 30H 30H 30HM99994DH 39H 39H 39H 39H
S000053H 30H 30H 30H 30HS999953H 39H 39H 39H 39H
T000054H 30H 30H 30H 30HT999954H 39H 39H 39H 39H
C000043H 30H 30H 30H 30HC999943H 39H 39H 39H 39H
WX000057H 58H 30H 30H 30H 30HWX998457H 58H 39H 39H 38H 34H
WY000057H 59H 30H 30H 30H 30HWY998457H 59H 39H 39H 38H 34H
WM000057H 4DH 30H 30H 30H 30HWM998457H 4DH 39H 39H 38H 34H
WS000057H 53H 30H 30H 30H 30HWS998457H 53H 39H 39H 38H 34H
WT000057H 54H 30H 30H 30H 30HWT998457H 54H 39H 39H 38H 34H
WC000057H 43H 30H 30H 30H 30HWC998457H 43H 39H 39H 38H 34H
RT000052H 54H 30H 30H 30H 30HRT999952H 54H 39H 39H 39H 39H
RC000052H 43H 30H 30H 30H 30HRC999952H 43H 39H 39H 39H 39H
R0000052H 30H 30H 30H 30H 30HR6553552H 36H 35H 35H 33H 35H
D0000044H 30H 30H 30H 30H 30HD6553544H 36H 35H 35H 33H 35H
F0000046H 30H 30H 30H 30H 30HF6553546H 36H 35H 35H 33H 35H

永宏通讯协议举例

命令码40(PLC概略系统状态读取)

1 格式:
在这里插入图片描述

2 范例:
在这里插入图片描述

命令码41(PLC的RUN/STOP控制)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码42(单一个单点运作控制)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码43(多个连续单点的抑/致能状态读取)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码44(多个连续单点状态读取)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码45(多个连续单点状态写入)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码46(多个连续缓存器数据读取)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码47(PLC的RUN/STOP控制)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码48(多个任意单点状态或缓存器数据混合读取)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码49(多个任意单点状态或缓存器数据混合写入)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码4E(测试回转 loop back)

1 格式
在这里插入图片描述

2 范例
在这里插入图片描述

命令码53(PLC详细系统状态读取)

1 格式
在这里插入图片描述在这里插入图片描述

2 范例
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1159517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【自用】vmware workstation建立主机window与虚拟机ubuntu之间的共享文件夹

1.在windows中建立1个文件夹 在vmware中设置为共享文件夹 参考博文: https://zhuanlan.zhihu.com/p/650638983 2.解决: (1)fuse: mountpoint is not empty (2)普通用户也能使用共享目录 参考博文&#x…

Unity Profiler 详细解析(二)

Profiler的主要参数详解 1. Memory Profiler Uesd Total : 当前帧的Unity内存,Mono内存,GfxDriver内存,Profiler内存以及额外内存的总和。 Reserved Total: 系统在当前帧申请的总体物理内存 Total System Memory Usage&#xff1…

ModStartCMS v7.5.0 内外网映射节流,安全使用增强

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 功能特性 丰富的模块市…

8种按钮设计的常见类型分享

按钮是UI界面的元素之一,可以本能地吸引游客并将其转化为买家。界面中的UI按钮类型包括:CTA按钮、幽灵按钮、下拉按钮、浮动操作按钮、汉堡包按钮、加号按钮、消耗品按钮、共享按钮。 号召性用语按钮 CTA(呼叫语言)按钮是一种交…

八、ACL访问控制列表实验

拓扑图: 通过某些特定的条件,端口号,ip地址,来限定某些数据包的访问 在这张拓扑图中,使得1.0和2.0能够访问服务器,但是两个网段不能互通 首先根据拓扑图把ip分配完毕, 高级acl命令可以用设置源…

算法学习打卡day40|343. 整数拆分、96.不同的二叉搜索树

343. 整数拆分 力扣题目链接 题目描述: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 …

Panda3d 相机控制

Panda3d 相机控制 文章目录 Panda3d 相机控制Panda3d中的透视镜头和垂直镜头透视镜头垂直镜头 Panda3d 中用代码控制相机的移动用键盘控制相机的移动用鼠标控制相机的移动 Panda3d 把相机也当做是一个 PandaNode,因此可以向操作其他节点对其进行操作。 真正的相机是…

stm32整理(三)ADC

1 ADC简介 1.1 ADC 简介 12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道,可测量来自 16 个外部 源、两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续 采样模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位…

Azure 机器学习 - 使用 AutoML 和 Python 训练物体检测模型

目录 一、Azure环境准备二、计算目标设置三、试验设置四、直观呈现输入数据五、上传数据并创建 MLTable六、配置物体检测试验适用于图像任务的自动超参数扫描 (AutoMode)适用于图像任务的手动超参数扫描作业限制 七、注册和部署模型获取最佳试用版注册模型配置联机终结点创建终…

Flask——接口路由技术

接口路由技术 一、Flask 简介1、环境安装:2、一个最小的应用3、两种运行方式 二、定义路由1、普通路由2、动态路由3、限定类型4、地址尾部的“/” 三、请求与响应-请求方法四、请求与响应-处理请求数据1、request的常用属性/方法2、get 请求参数3、json 请求4、表单…

高效文件整理:按数量划分自动建立文件夹,轻松管理海量文件

在日常生活和工作中,我们经常需要处理大量的文件。然而,如何高效地整理这些文件却是一个棘手的问题。有时候,我们可能需要按照特定的规则来建立文件夹,以便更高效地整理文件。例如,您可以按照日期、时间或者特定的标签…

老杨说运维 | 历时180天,跟复旦大学共研的运维大模型终于来了!

写在前面 Q1:到处都在说的AI大模型到底是什么? ? ? A1:AI大模型是“人工智能预训练大模型"的简称,它包含了"预训练“和”大模型“两层含义,二者结合产生了一种新的人工智能模式即模型在大规模数据集上完成了预训练…

Azure 机器学习 - 使用无代码 AutoML 训练分类模型

了解如何在 Azure 机器学习工作室中使用 Azure 机器学习自动化 ML,通过无代码 AutoML 来训练分类模型。 此分类模型预测某个金融机构的客户是否会认购定期存款产品。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管…

【C语法学习】5 - fputc()函数

文章目录 1 函数原型2 参数3 返回值4 示例4.1 示例14.2 示例24.3 示例3 1 函数原型 fputc():将一个字符发送至指定流stream,函数原型如下: int fputc(int c, FILE *stream);2 参数 fputc()函数有两个参数c和stream: 参数c是待…

Proteus仿真--基于51单片机的按键控制LED仿真(仿真文件+程序)

本文主要介绍基于51单片机的按键控制LED仿真(完整仿真源文件及代码见文末链接) 本仿真文件主要涉及4个按键,其中: K1按键的逻辑是——逐个点亮 K2按键的逻辑是——上四个点亮 K3按键的逻辑是——下四个点亮 K4按键的逻辑是——关…

opencv复习(很乱)

2-高斯与中值滤波_哔哩哔哩_bilibili 1、均值滤波 2、高斯滤波 3、中值滤波 4、腐蚀操作 卷积核不都是255就腐蚀掉 5、膨胀操作 6、开运算 先腐蚀再膨胀 7、闭运算 先膨胀再腐蚀 8、礼帽 原始数据-开运算结果 9、黑帽 闭运算结果-原始数据 10、Sobel算子 左-右&#x…

⾯向对象编程:封装数据和⾏为、定义交互协议、扩展与复⽤ - GO语言从入门到实战

⾯向对象编程:封装数据和⾏为、定义交互协议、扩展与复⽤ - GO语言从入门到实战 一、封装数据和⾏为 结构体定义 定义了一个名为Structural的结构体。结构体是一种用户自定义的数据类型,可以包含不同类型的字段(成员变量)。 与…

【Unity编辑器扩展】艺术字/自定义图片字体生成工具

艺术字在游戏中很常用,由于普通字体样式过于平淡,制作花里胡哨的文字图片作为游戏字体使用,这就是艺术字。 不依赖第三方工具,仅使用Unity自带的Custom Font 一张艺术字图集就能实现这个功能,但是为了便于使用&#…

多伦多公共图书馆遭遇周末网络攻击,服务中断

多伦多公共图书馆(TPL)在10月28日星期六遭遇网络攻击后,警告称其许多在线服务已经中断。 作为加拿大最大的公共图书馆系统,TPL通过多伦多市内的100个分馆为人们提供1200万本图书的借阅服务。图书馆拥有120万注册会员,…

[SpringCloud | Linux] CentOS7 部署 SpringCloud 微服务

目录 一、环境准备 1、工具准备 2、虚拟机环境 3、Docker 环境 二、项目准备 1、配置各个模块(微服务)的 Dockerfile 2、配置 docker-compose.yml 文件 3、Maven 打包 4、文件整合并传输 三、微服务部署 1、部署至 Docker 2、访问微服务 四…