三菱PLC驱动配置使用三菱Melsec协议(MC协议)从三菱PLC读取数据,仅支持以太网方式。三菱PLC都可以通过此协议访问,但是需要对PLC进行设置。
AIRIOT物联网低代码平台如何配置三菱PLC驱动,操作如下:
配置说明
windows环境
如果在windows上运行驱动,需要安装nodejs运行环境和npm工具。
点击链接,下载windows安装包,按照说明安装,安装过程可以参考此博客
【非必须】有的时候由于网络原因,需要使用淘宝镜像加快下载依赖的速度,有以下两种方案。
●执行npm命令时加上--registry=https://registry.npm.taobao.org
●安装cnpm:具体操作参看此博客第三部分。
PLC通信设置
使用MC协议与PLC通信需要知道PLC的IP和端口,且这个端口的通信方式需要是MC协议。如果不了解这些设置,需要用GX works2软件进行设置。
 
1安装GX works2软件(已测试过1.591R版本,可用)。
2将PLC与安装GX works2软件的电脑连接,PLC端最好使用串口,PC端需要从设备管理器中确认哪个串口是连通的。
3打开GX works2软件,新建工程,选择正确的系列和机型。
 
 
4 连接目标,选择当前连接目标(或新建目标并设置为默认)。设置连接,双击计算机侧I/F,设置COM口。测试连接,可以连接后点击确定。
 

 
5 点击顶端导航栏,在线,plc读取,选择参数(parameter),点击执行,将当前PLC设置复制到本地。如果本地有设置会提示是否要覆盖,选择是。有可能提示有当前软件无法处理的参数,有可能是GX works2版本不对,可以先读取下来看看。(下图仅供参考,实际上只用选择参数即可)。
 

 
 
6 双击左侧导航栏参数下的plc参数,点击以太网端口设置。如果没有此标签说明GX works2版本不对,重试后如果还是这样则需要重新安装另一个版本的GX works2。
 
 
7 在以太网端口设置界面,将IP修改为安装平台的机器可以访问的地址。通信数据代码设置与PLC型号有关,尽量建议选择二进制代码通信。
 

 
8 点击打开设置,配置通信端口。一个PLC通信通道支持多个连接,选择一个,协议设置为TCP,打开方式设置为MC协议,设置本站端口号(1025~5548或5560~65534)。设置完后保存。
测试时可以打开一个数据监视端口,然后通过浏览器访问即可看到PLC的状态。
 
 
9 记录设置的IP、端口和通信数据代码设置。
10 点击顶端导航栏,在线,plc写入,选择参数(parameter),点击执行,将本地PLC设置上传到PLC。
11 将PLC断电重启,ping之前设置的IP,如果可以ping通基本算设置完成。
使用说明
设备IP和端口
设备IP与以太网端口设置界面中的一致,设置前确保在运行驱动的设备上可以ping通。
端口与以太网端口-打开设置界面中的设置一致(协议=TCP,打开方式=MC协议)。
代码设置
一般PLC支持ASCII码和二进制码两种代码设置,根据以太网端口设置界面的通信数据代码设置选择其中一种。
可能出现PLC不支持ASCII码通信或者二进制码通信的情况,请以手册为准。
PLC类型与帧类型
PLC类型与帧类型两个参数的选择以设备的用户手册或者对应以太网的用户手册为准,下表仅供参考。PLC可能支持多种帧类型。
PLC类型
PLC型号
A
1E
fx3u,A系列
QnA
3E
QnA系列
Q
   
L
   
R
   
访问路径设置
访问路径是MC协议报文的一部分,用以太网通信时有4个参数。对于1E帧,只能够设置可编程控制器编号,而另外两种帧可以设置四个参数。在配置界面输入的是10进制数。
如果运行驱动的计算机与访问对象直接连接时,不用做任何设置。
名称
说明
适用于
网络编号
指定访问目标的网络编号
3E/4E
可编程控制器编号
指定访问目标的网络模块的站号
全部帧(但实际上用1E帧时驱动不会读这个参数)
请求目标模块I/O编号
访问多点连接站的情况下,指定多点连接源模块的起始输入输出编号指定多CPU系统、冗余系统的CPU模块
3E/4E
请求目标模块站号
访问多点连接站的情况下,指定访问目标模块的站号
3E/4E
具体意义参考《MELSEC通信协议参考手册》第二部分6.2节。
点数倍率
仅限于1E帧。发现数据点较少时驱动可以读取但是多了却读取不了时,考虑修改这个参数。
MC协议中,对软元件尽心操作时对一次通信中可以处理的点数(即软元件数量)做出了限制。根据MC协议,批量读取字单位时,读取位字软元件和位软元件的数量限制分别是128字(2048点)和256点。但是对于部分型号,尽管可以使用MC协议通信,这个点数限制往往比MC协议中规定的小(比如使用FX3U-ENET-ADP时,批量读取字单位时,读取位字软元件和位软元件的数量限制分别是32字(256点)和64点)。
这个参数仅限于1E帧的数据读取,其意义为MC协议中的点数限制与实际设备的点数限制的比值。比如使用FX3U-ENET-ADP时,这个参数应该设置为4。
当驱动可以正常读取数据时,这个参数不需要调整。增加这个参数会使得读取数据时向PLC发送的请求数量增加,降低读取效率。
《MELSEC协议通信参考手册》附录5
《FX3U-ENET-ADP中文手册》7.4节
软元件
软元件是PLC存储数据的基本单元,不同类型的软元件除了名称和符号不同外,单元的长度和表记也可能不同。
《MELSEC协议通信参考手册》8.1节 软元件代码一览
 

 
常见的X/Y/M/S软元件都是位类型的(1bit),只能读写1/0(true/false),而D软元件是字类型的,包含16个bit。对于字类型和双字类型的软元件,可以整体的读(用16个bit表示的数据)、组合起来读(相邻的两个软元件表示一个32bit的数据,比如INT32)以及单独读取某个bit(返回true或false)。
表记会影响配置数据点时的软元件编号。
软元件名称
配置数据点和指令时都需要写软元件名称,格式略有不同,注意字母都要大写。
软元件名称由四部分组成,其中首字母和编号是必须的:
●首字母:软元件类型,必须为大写。常用的有D,Y,M等。PLC支持的软元件类型与PLC型号有关。
●数据类型:(仅读取时有效)将数据点直接转化成特定格式的数据,可缺省。可选值:REAL|FLOAT|DWORD|DINT|WORD|UINT|INT|STR|CHAR|BYTE|BIT。
●编号:软元件编号,从0开始,其上限与软元件的类型与PLC型号有关。如果软元件的表记是16进制的(比如X,Y),则编号需要写为16进制的(比如XA)。
●位数(非必须):部分软元件既支持字读写也支持位读取,进行位读写时,在编号后加上.和位数(如D0.2)。
数据读写
写入示例
用指令修改软元件的值时,软元件名称中不能包含数据类型。
对于类型是位的软元件,只能写入1或0。
对于类型是字的软元件,既可以写入一个整数(改变多个bit的值),也可以单独写入一个bit。软元件名称中不包含位数时,写入的是带符号的INT16,所以范围是从-32768至32767,F位(首位)为符号,1为负0为正;包含位数时,写入的是1或0。
●S0写入1:S0所对应的bit为1。
●D2写入7:D2的前13个bit是0,后3个bit是1(7=二进制111)。
●D3写入0:D3的所有位都是0。
●D3.0写入1:D3的0位是1,其余位是0。
●D11写入-32768:D11的F位是1,其余位是0。
读取示例
下文中软元件的值与写入示例中写入的值相同。未提及的软元件没有写入过数值,即所有位都是0。
读取一个bit时,返回的是1或者0。
●S0:读取写入示例中的S0,返回1。
●D2.0:读取写入示例中的D10的第0位(最后一个bit),返回1。
●D2.3:读取写入示例中的D10的第3位,返回0。
●D3.0:读取写入示例中的D10的第0位,返回1。
●D3.1:读取写入示例中的D10的第1位,返回0。
读取位类型的软元件时,不同数据类型返回的结果不同:
●D11:返回-32768。
●DINT11:因为D软元件的缺省类型是INT,返回-32768。
●DUINT11或DWORD11:返回二进制数1000 0000 0000 0000对应的无符号整数,即32768。
有的数据类型是用32个bit表示的,可以将两个软元的32个bit一起读出来,此时软元件的编号的意义是起始软元件的编号:
●DDINT2或DDWORD2:实际上使用D2和D3的32个bit组合成,返回65543(二进制数0000 0000 0000 0001 0000 0000 0000 0111),说明是从D3的F位开始读,以D2的0位为止。
●DREAL20:将D20和D21的32个bit读取为小数,顺序为D21的F为至0位,D20的F位至0位。并不是任意一个32位二进制数都能对应一个小数(​​在线互转​​)。
○选定一个小数:-120.2,以二进制表示为1100 0010 1111 0110 0110 0110 0110 0110。
○将前16位和后16位分别写入D21和D20,对应的带符号INT16分别为-15626和26214。
○读取DREAL20,返回-123.19999694824219。
○将26214写入D22,读取DREAL21,返回的是2.7243517139461285e+23,这是由于此时是从D22开始读的。
由于ASCII码对应一个8位二进制数,一个位类型的软元件可以储存两个ASCII码,因此我们可以将软元件读取位字符串。将D0和D1分别写入为20299=79 256 + 75和10281=40 256 + 41,其中79,75,40,41分别是"O","K","(",")"的ASCII码。
●DSTR0:返回的是"K"(说明只需要读前8个bit)。
●DSTR1:返回的是")"(说明读的是D1的前8个bit)。
参考
《MELSEC通信协议参考手册》
《FX3U -ENET-ADP用户手册》
《FX 3S ·FX 3G ·FX 3GC ·FX 3U ·FX 3UC 系列微型可编程控制器编程手册》
 

AIRIOT物联网低代码平台如何配置三菱PLC驱动?的更多相关文章

  1. 低代码平台--基于surging开发微服务编排流程引擎构思

    前言 微服务对于各位并不陌生,在互联网浪潮下不是在学习微服务的路上,就是在使用改造的路上,每个人对于微服务都有自己理解,有用k8s 就说自己是微服务,有用一些第三方框架spring cloud, du ...

  2. 基于低代码平台(Low Code Platform)开发中小企业信息化项目

    前言:中小企业信息化需求强烈,对于开发中小企业信息化项目的软件工作和程序员来说,如何根据中小企业的特点,快速理解其信息化项目的需求并及时交付项目,是一个值得关注和研讨的话题. 最近几年来,随着全球经济 ...

  3. 2021年哪个低代码平台更值得关注?T媒体盘点国内主流低代码厂商

    2020年圣诞前夜,国内知名创投科技媒体T媒体旗下的T研究发布了2020中国低代码平台指数测评报告.报告除了对国内低代码行业现状进行总结外,还对主流低代码厂商的市场渗透和曝光进行测评. 报告认为,低代 ...

  4. 分析师机构发布中国低代码平台现状分析报告,华为云AppCube为数字化转型加码

    摘要:Forrester指出,中国企业数字化转型过程中,有58%的决策者正在采用低代码工具进行软件构建,另有16%的决策者计划采用低代码. 华为消息,知名研究与分析机构Forrester Resear ...

  5. 使用WtmPlus低代码平台提高生产力

    低代码平台的概念很火爆,产品也是鱼龙混杂. 对于开发人员来说,在使用绝大部分低代码平台的时候都会遇到一个致命的问题:我在上面做的项目无法得到源码,完全黑盒.一旦我的需求平台满足不了,那就是无解.   ...

  6. OpenDataV低代码平台增加自定义属性编辑

    上一篇我们讲到了怎么在OpenDataV中添加自己的组件,为了让大家更快的上手我们的平台,这一次针对自定义属性编辑,我们再来加一篇说明.我们先来看一下OpenDataV中的属性编辑功能. 当我们拖动一 ...

  7. vivo 低代码平台【后羿】的探索与实践

    作者:vivo 互联网前端团队- Wang Ning 本文根据王宁老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术分会场议题 ...

  8. vivo 游戏中心低代码平台的提效秘诀

    作者:vivo 互联网服务器团队- Chen Wenyang 本文根据陈文洋老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术 ...

  9. 干货!可以使用低代码平台代替Excel吗?

    低代码开发平台可以代替Excel?不用惊讶,答案是肯定的,而且,低代码开发平台可以完全代替Excel.例如Zoho Creator低代码平台,可以围绕数据存储.管理和创建工作流程.期间不需要IT人员介 ...

  10. 开源低代码平台开发实践二:从 0 构建一个基于 ER 图的低代码后端

    前后端分离了! 第一次知道这个事情的时候,内心是困惑的. 前端都出去搞 SPA,SEO 们同意吗? 后来,SSR 来了. 他说:"SEO 们同意了!" 任何人的反对,都没用了,时代 ...

随机推荐

  1. #莫比乌斯反演#ZOJ 3435 Ideal Puzzle Bobble SP7001 VLATTICE

    ZOJ 3435 Ideal Puzzle Bobble SP7001 VLATTICE - Visible Lattice Points(洛谷题目传送门) SP7001 VLATTICE - Vis ...

  2. 成长计划知识赋能 | 第十期:DAYU200开发入门秒Get

      2021年12月,OpenAtom OpenHarmony(以下简称"OpenHarmony")开源开发者成长计划开启了第一节OpenHarmony知识赋能直播课程,给广大开发 ...

  3. 文档贡献与写作必读-OpenHarmony开发者文档风格指南

    在您使用OpenHarmony文档或参与OpenHarmony文档/生态内容贡献时,是否遇到过如下问题: ● 应该使用第一人称还是第二人称来写作? ● Markdown文件应该如何命名? ● 代码块及 ...

  4. k8s之存储卷OpenEBS

    一.OpenEBS简介 OpenEBS 是一种开源云原生存储解决方案,托管于 CNCF 基金会,目前该项目处于沙箱阶段. OpenEBS能够将Kubernetes工作节点上可用的住何存储转换为术卷或分 ...

  5. Python根据主播直播时间段判定订单销售额归属

    写在前面:最近在群里看到一个这样的直播电商的场景觉得还是挺有趣的,于是就想用Python来实现. 需求描述:根据主播直播时间段结合销售订单的付款时间判断所属销售的归属 生成主播在线直播时间段数据 fr ...

  6. 基于openstack安装部署私有云详细图文教程

    本文主要分享的是云计算.openstack的使用.私有云平台建设.云服务器云硬盘的构建和使用.从基本概念入手到私有云建设,信息量非常大.对于openstack的安装部署都是从官方文档中一步步的介绍,内 ...

  7. 批处理for 的理解及例子

    前言 首先for的代码形式是: for %i in (set) do command 这里面有一些小知识知识点: 比如说i是变量,那么i可以换成其他字符吗?答案是可以的.但是必须是26个字母中的其中一 ...

  8. 重新整理数据结构与算法(c#)—— 顺序存储二叉树[十九]

    前言 二叉树顺序存bai储是二叉树的一种存储方式.将二du叉树存储在一zhi个数组中,通过存储元素的下dao标反映元素之间的父子关系. 正文 这个概念比较简单,比如一个节点的在数组的index是x,那 ...

  9. 【ClickHouse 技术系列】- 在 ClickHouse 中处理实时更新

    ​简介:本文翻译自 Altinity 针对 ClickHouse 的系列技术文章.面向联机分析处理(OLAP)的开源分析引擎 ClickHouse,因其优良的查询性能,PB级的数据规模,简单的架构,被 ...

  10. 排查指南 | 两个案例学会从埋点排查 iOS 离线包

    ​简介: 首次打开离线包白屏以及报错"-1009"等该如何处理呢? ​ 离线包原理 以一次启动离线包的流程为例,离线包的加载流程分为两种场景,第一种是离线包下载好的场景,流程如图1 ...