粉丝6.7万获赞21.1万

大家好啊,欢迎收看本期课程啊,前几上一节我们讲了西二系校宴啊,他也叫荣誉循环荣誉校宴啊,是我们做毛豆 bus 过程中啊, 呃,用来检验数据的一个消验方法。那么如果说我们的片期支持这个吸压器消验指定啊,或者是西门子,因为西门子他是不需要呃 呃人来计算这个西二西肖雁的,所以呢,他自带的那后台呀,他就自带西二西西安指定,然后发出我们想要的这个呃豹纹了。那么如果说你的片西不带这个西二西肖雁指定,那你必须要 呃把它算出来啊,算出来就是比如说三幺,他带下期先按指令,我们可以直接用指令呢来求出他的消压码。那么如果说我们用 早期的三零的 prc 啊,比如说 f i 二 n 的 es 啊,他是不支持 crc 效应指定的啊,包括 q 系列 prc 啊,也是不支持 crc 效应指定的 啊。那么这种情况呢,我们就需要手动来计算啊,手动计算这个消验码,那么怎么计算呢?这个加些消验码啊,看这个 他的定义介绍啊,是很嗯,很难的啊,就是他是用二金制啊,什么什么来算出来的啊,但是呢,这个我们看起来不是太懂啊,不是太懂,那么呢, 我们就要用一种简单的方法啊,因为我们算的时候大多数时候是 modelas 啊,所以呢,我们就只用 models 的方法来算啊,就是瞎。 消验码呢,他有很多种类啊,不光是一种 modelas 啊,什么呃, ibm, usb 啊等等各种各样的消验码,你到网上查,可以查到很多种吸压器消验码,每一种算出结果都是不同的,我们要做的呢就是做 models 的消验码 啊,那么这种消压码呢,他有一一套就是呃,步骤啊,就是这步骤,也不是我总结的,也是网上写的啊,那么我就根据这步骤给大家讲一下,首先呢,我们 计算这个 crc 销量呢,要预制一个十六 v 的计存器啊,然后呢计存器中的值呢,都是一,而且就是二金制的值是一,那么他的十六金智呢,就是 f f f f 啊,四金制 f f 啊,这是我们的 cr 寄寄存器啊,这个很重要啊,大家注意,就是要用弄一个第一也好啊,第零也好啊,或者第一千的也好啊,要把这个 呃四个 f 啊,十六进制的 f f f f 啊,传送给这个计算器啊,这是第一步。第二步呢,把第一个八位二进制数据啊,第一个八位二进制数据啊,比如说我们要计算零幺零三零零零零 零零零二啊,我们想计算这组数的这个西亚希效应码啊,那么他是六个字解,我们先把第一个字解给他,那个呃, 与十六位计算器啊,与十六位计算器的第八位相依或,那么他的第八位呢?都是一 啊,一一一一一一啊,那么零幺呢?零幺高位是零,都是零零零零零零一啊,相当于一二三四五六 七啊,这是一啊,这是一啊,就他俩进行一货啊,他俩进行这个一货,然后呢把结果存在这个西亚西计算器中,那么什么叫一货呢?一货呢?就是他俩同样的位啊,进行比较啊,如果这两个位相等啊, 那么他的结果就是零啊,如果不相等,结果就是一啊,大家看这个,那一和零肯定是不相等,就是一啊,这也是一一一一一 一一全是一啊,最后一位相等啊,最后一位相等零啊,这就是 易货指令啊,就是他俩只要不相等,那么他就是一,如果相等就是零啊,最后一位都是一相等,那么他就是零,如果都是零,两个相等,他也是零啊,只有他俩不同才是一啊,这就是易货指定 啊。易货之后呢,把这个易货之后的值啊,再次存储到 crc 计算器中,也就是把 crc 开始是全是 f f 四个 f 码,经过一步易货之后呢,就变成了这个值了啊,这个值 啊,那么这个值呢?一和完之后啊,把他的内容右移移位,就是往右移移位,首位填零,那么变成零幺幺幺幺幺幺幺啊,然后呢,零补高啊,并检测右移后的移除位。如果他的移除位啊,是零啊, 这里我们移除位呢,上一步是零啊,是零之后我们不用管啊,我们继续右移啊,继续右移,那么再右移呢,就是零零幺幺幺幺幺 幺啊,然后右移出来的是一啊,如果是一右移出来的啊,右移出一,那么呢这个直呢?剩下的直啊,不是指右移的直啊。如果移除位为 一啊,那么计算器呢?与多项式呢?再次疑惑啊,这个多项式啊,就不是呃,就是固定的了啊,叫 h 零 a 零零幺啊,也就是十六位的 a 零零幺。疑惑啊, 一会之后的结果呢?再存到西亚希计算器中啊,存完之后我再次右移啊,再检验这个最后一位是零 还是一啊,如果是零呢,那么我继续用一,如果是一呢?我呃在于这个多项是 a 零零幺一货啊,那么一货完之后啊,要重复八次啊,因为我们这个每个字节有八个位,所以呢我们要右移八次啊,右移八次之后我们 这个字解就算完了,那么这节第一个字解算完之后,这时候这个 crc 计算器中的值呢, 我就存了一个新值了啊,就不是 f f 了。然后呢我开始用这个新的虾吸寄存器再和零三进行 硝烟啊,零三在他俩在硝烟硝烟完之后再产产生一个新的 crc 计算器的值,然后呢再和后边的啊每一个字节都一次的进行硝烟,直到把这个六个字节都 效验完成啊,那么最后得到的 crc 计算器的值也就是我们的 crc 消验码啊,就是通过这种方法来的,那么通过这种方法呢,我们就可以用程序啊, 一位指令啊,或者一或指令呢,就把我们的整个这个计算流程呢给他做成呃呃程序啊,程序写出来啊, 这个就是适用于啊,就说这个没有加细项指定的三零的一个计算方式啊,计算方式,那么他的原理就是这样啊,我们可以看一下,就是我做的一个呃 写的一个程序啊,那么这个程序呢?他我现在呀是呃发送的这个数据啊,是从第十开始的啊,第十开始的,然后呢一直传送到第十五啊,第十五,然后 发送需要需要西二西肖燕的,那是六位啊,六位就是从把地灵传送给 k 六传送给地灵,然后呢开始进行这个呃下期运算啊,运算完成之后,然后呢最后把这个呃两个数值存到第十六和第十七中啊,我们可以通过程序验证一下啊,大家看这个呢,就是我用触摸屏啊和 片系模拟得到的结果,那么第一位零幺零三啊,我可以改成零零 啊,这也是零。最后一位零二,然后西四零 b 啊,这就标准的呃与这个 呃十六位第一个地址啊,保持计算器通讯的一个呃标准的指令啊,然后读两个字,读代码, 然后他的最后消验位呢是吸四零币啊,那么如果说我比如说和变频器通讯,我要读变频器的频率二幺零二 二幺零二啊,然后读他的呃两个字啊两个字,那么他的效应码呢?是六 f f 七啊,这个是自动计算出来的,不是我手动的啊,就说我们可以和之前的呃 比较一下啊,或者我们和湘西这个计算器啊,网上有计算器比较一下,看看我们的结果是否正确啊,那么正确之后我们就可以啊, 呃,把这个第十道第十七这八个数据啊,用 rs 指令啊发送出去啊,发送出去之后呢,就是我们呃经过 crc 硝烟完成的一个指令啊,所以呢,通过这个 crc 硝烟这个程序啊啊,我们 就可以实现,这个没有啊,不支持 crc 消炎指定的 prc 啊,的一个方法啊,方法啊,就说除了三优之外或者五优啊,因为三优五优都是呃 支持 crc 肖燕的,那么之前的 prc 或者 q 系列的 prc 他是不支持的,但是呢,这里 qq 系列和和这个呃 fx 系列有点区别啊,他是两套程序啊,但是原理都是一样的啊,原理都是和这个 刚才讲的这个流程是一模一样的,他的原理只不过有些呃,位移一位指令啊, 不太一样而已啊。啊,那么这就是我们的这个 crc 肖燕的程序啊,程序原理啊,下节呢,我们再讲一下这个程序怎么来写啊,这节课就到这里啊,谢谢大家。

今天这个视频咱们把变频器和 plc 的 通信彻底讲透,全称干货,细节拉满,建议大家先留住,用到的时候随用随查。我将从 通信电缆的实际连接,到通信参数的一步步设置,再到豹纹数据的详细拆解,每一个环节呢,我都会带大家一步一步走,全程无跳步。想要搞定变频器和 plc 通信这个视频每一步都别跳过,跟着学就能把这个知识点彻底拿捏。我们先来看一下需要一些什么硬件, 以及它们之间是怎么连接。第一个就是三零的 d 七二零控制的小型三千一部电机以及 plc。 plc 的 话是通过 bd 四八五的扩展板和变频器通信,它是通过怎样通信呢?扩展板它这里有五个端口,最右边这一个是 接地,然后中间四个的话就是 sda 和 rda, 把它短接起来,就像这个样子,短接起来之后,我们把它插上去, 我们接到另一头,另一头就是咱们网口的一个连接。我们的网口怎么和这两根线进行连接呢?我们看一下网口,水晶头平躺着, 触点朝上,左边是一,右边是八,那么我们要接什么呢?三四五六三和五接起来,四和六接起来,它拆出来其实只有四股线,两根线搅在一起,有绿、蓝、橙和棕, 分别搅着绿白、蓝白、橙白和棕白。其实我们只要找到绿白和绿,蓝白和蓝, 把绿白和蓝白搅到一起,蓝和绿搅到一起就 ok 了。像这个样子,这两根线就和刚才咱们 plc 上四八五 b, d 板上两根线连接起来,四八五的 a 连接到四八五的 b 连接到四八五的 b, 那 么咱们的这个通信电缆就制作完成了。好,我们把它插到变频器上 线,接完了之后我们要干什么呢?看他们两个的通信参数一定要对上。首先去找重赞的通信参数,重赞的通信参数在变频器说明书,一定要找到说明书账号。我设置一通信射速率, 我设置的是九六零零,然后停止位长八位数据位一位停止位幺幺九选零,然后在基偶效应,他默认的是偶效应,那么就是什么呢?九六零零,偶效应,八个数据位,一个停止位,然后我们这个五四九的协议选择, 我们也选择 modbus r t u, 我 们没有走三零变频器的专用协议。搞清楚变频器的通信参数之后,我们就来设置 plc 的 通信参数, plc 的 通信参数我们是通过传送指令传送到参数设置字 d 八幺二零里面,这个一定要记住,它怎么去设置和变频器的通信参数是一样的呢?我们看它这个字一共有一十六个位,我们每一个位都要对它进行设置。好,我们怎么设置呢?我们看一下啊。第一个位我们从右边往左边来,第一个位 是数据长度,我们刚才是八位数据长度,于是是一对不对。好,最右边我写一个一,然后第二个位和第三个位基偶效应,刚才是偶效应,偶效应代表着是两个一,看到没有,所以我们这里 再写一一,那么 b 三停止位,停止位是一位的话,它这里是零,然后这是这四个位零幺幺幺四五六七的话就是设置波特率,波特率刚才是我设置的是九六零零,九六零零就是幺,后面三个零,那么就是幺零零零,我们继续 报头报尾,没有,那么就是零一个,两个位是零,然后 b 十和 b 十一的话,它是控制线,控制线的话我们是无协议,然后 r s 四八五,它对应的参数是两个一,对不对?那么我们这里就写两个一,好,我们再来看啊。 b 十二到 b 十五,如果是无协议的话, 那么全部是零,我们这里四个零,这么一串数据,四个零幺幺零零幺零零零幺幺幺幺,怎么设置到第八幺二零里面呢?用十六进制,首先我们看最低位零幺幺幺,我们用八四二幺 b c d 是 一的项,我们把它加起来零幺幺幺就是四加二加一等于七,这十六进制的第一个位,第二个位八四二幺 八,第三个位八加四,八加四等于十二,那么十六进至就是 c。 好, 我们就把 h c 八七, 把它传送到 d 八幺二零里面,那么它的通讯参数和它的通讯参数咱们就已经对上了,所以我们在程序里面写的第一步就是将 c 八七传送到 d 八幺二零,参数设置 ok 之后呢,我们就去控制变频器, 我是这样控制,按一个按键,电机反转三十赫兹,然后再按一个按键,电机正转五十赫兹,然后按另外一个按键停机,这样子来啊,所以我们看反转三十赫兹和正转五十赫兹和停机,它到底怎么设定? 我们这时候要打开变频器的说明书,变频器的说明书主要是在哪个地方呢?这个计算器里面 四零零九变频器状态以及输入命令,其中下面有一个专门说明它这个字,每个位的一个控制数据,待会我们来看,我们记住它的寄存器是零零零九, 但它的通信地址它并不是零零九,它需要减一,那么它的通信地址就是多少呢?零零零八,并且是十六进制,所以我们是更改谁呢?零零零八这个地址里面的数据,将咱们的正转数据,反转数据以及停止数据写到它里面。 好,然后我们再看正转,反转以及停止,我们都应该写一些什么样的数据。首先第一个我正转,我们看四四零零八这个地址里面应该怎么写,他也是一十六个位,从最低位开始,那么停止零, 正转零,反转三十赫兹是吧?正转零,反转一高速,高速是五十赫兹,那么高速零中速 m r 三十赫兹,一低速零,前面都是零,那么它的数据是什么呢?十六进至就是 h, 我 们把它分一下啊,四个一组是吧?零零零幺就是一幺零零零四 h 幺四, 待会我们把 h 幺四把它发送到 h 零零零八这个地址里面,那么它就是反转三十赫兹,好,我们再来看啊,停止零,正转一,反转零, 高速一中速,低速全是零,我们就不用看了,是吧?幺零幺零八加二等于十,那么就是 h a, 然后停止的话很简单,就是第一个位是一,其他全是什么?全是零, 停止的话就是零零零零零一,是吧?那就 h 一, 记住啊, h 幺四, 反转三十二字 h a, 正转五十二字 h 一 停止。再回到程序,我们的程序的话用的是 r s 无协议指令发送数据,从低零开始的连续八个计算器,低零到低七返回数据,我不需要返回,我只要写就行了,我不需要返回,所以这里我写了个 k 零,我首先 看反转三十赫兹,刚才是 h 幺四,对不对?第一个账号一六,写单个计算器功能码,然后他写到零零零八,他每一个是一个字节的长度,所以是零零零八,然后他写的数据是什么呢?零零幺四, 这是幺四吗?前面零零幺四就是幺四,然后 c l c 教练,好,我是通过 m 零的这个按钮进行一个反转三十赫兹,然后我们正转,我是通过 m 二的这一个按钮让它进行正转五十赫兹。 ha, 那 么就是账号功能码还是这个地址零零零八,然后零零零 a 就是 正转五十赫兹,那么停止呢?停止的话,我用的 m 一, m 一 的话就是将零零零幺传送到零零零八的这一个地址里面,那么它就会停止。这时候我们将程序写进去, 现在已经写完了 m 零二,当前值更改,我按下去松开,就是先按 on, 再按 off, 先按 on, 再按 off, 现在咱们的电机在运行呢,是吧?并且是三十二次反转,它的这个 run 灯会慢速闪烁, 我现在让它正转五十赫兹,我按 m 二,点到 m 二,这,然后启动停止,它现在已经正转,并且是五十赫兹,乱灯是常亮。好,我停机的话,我按 m 一, m 一, 好,我按一下, 停机了,这时候我再让它启动正转五十二次,好,再来三十二次反转。好,它首先停,然后再换向,是吧?这是反转三十二次。 变频器和 plc 连接起来的重点是什么呢?第一个参数你一定要两边对应上, 不知道参数,去看说明书通讯参数他会说的很清楚,默认的参数,如果不是默认参数的话,你改他的参数,改成两边都是一致通讯。 ok 了之后我们再去找他的这个控制字的这个地址, 你将他的控制字里面写对应的控制数据,就能通过咱们的 plc 的 程序去发送到变频器,控制我们的电机。好,今天就讲到这。


今天用三分钟带大家理清 modbus r t u s c r tcp 的 差异,掌握工业通信选型逻辑,新手呢,也能精准避坑,高效应用。首先,这三种形式均遵循 modbus 主从通信的规则,是工业自动化领域的通用通信协议。 第一种 modbus r t u 是 工业现场串行通信的主力款,占据百分之九十以上的串行通信场景。其核心原理是通过 rs 四八五链路传输数据,采用二帧制、十六帧制编码真,结构紧凑,不容于 搭配 crc 十六循环领域较验,能够有效抵抗车间的电磁干扰、油污、粉尘等恶劣环境,保障数据传输的准确性。它的优势是在于稳定性强,硬件成本低,单条 rs 四百五总线可以接入三十二个存占,通过终结器呢,可以扩展至一百二十八个, 九千六百 bps 的 数据下,传输距离可以达到一千两百米。局限则是啊,仅支持单组站控制传输距离和节点数,受物理链路限制,扩展性呢,相对有限。第二种 modbus a s c 二应用占比呢,不足百分之五, 以辅助调试和老旧设备兼容为主。它呢,同样依靠 r s 四八五和二三二的串行链口,但采用 a s c 二的字符编码, 一个字节呢,需拆分为两个字母传输,导致传输效率啊,仅为 rtv 的 百分之五十。而且呢,交流方式为 lrc, 横向荣誉较验,抗干扰能力啊,弱于 crc 十六。 它的优点在于数据可读性强,无需二进制转码,可通过串口助手直接查看指令内容,便于现场调试排查。但因效率和稳定性实在太拉垮,极少用于呢量产场景的主力通信线路。 第三种, modbus tcp, 它是远程跨区域通信的核心方案,在远距离组网场景中呢,占比超百分之八十。它 基于 tcp ip 的 以太网架构,沿用 rtu 的 二禁制编码,保障传输效率,取消了独立交易环节,依靠 tcp ip 协议自身的交易机制,保障可能性。通过七字节 m b a p 豹纹头实现多设备的寻址和跨网通信。 它呢,支持多主站的并行访问,无传输距离和节点限制,可以直接对接 skala 系统工业云平台,实现跨厂区的数据互通。不足在于啊,它的硬件成本相对高一些,需要配置以太网的交换机、网关等设备。组网调试呢,需要设置 ip 地址,对新手呢,有一定的调试门槛。 工业通信的核心啊,是适配场景稳定可靠,选对 word bus 形式啊,能够大幅降低车间通信故障发生率。以上内容呢,干货满满,建议点赞收藏备用!关注谢工,学习用工,我们下期见!

在工业现场当中,摩托巴斯 r t u 在 通讯过程当中通讯不上,应该如何去排查故障和解决问题?只要用过这个协议的百分之九十九的人在工作当中都会遇到过这种情况。首先第一就是我们的物理接线, 摩托巴斯 r t u 如果你是四八五通讯呢?那么就是我们的 a 正对 a 正 b 负对 b 负,如果你是二三二通讯呢?就是收对发,发对收 d 对 d, 这就是我们一个最基本的一个通讯条件,如果你的物理接线有问题,那么直接会导致你的通讯中断。 第二点就是我们在窗口初步配置通讯的时候,我们主站的通讯波特率、数据位、停止位、椒盐位要和我们从站的数据保持一致,否则也会通讯不上。第三点就是我们的设备地址,也就是所说的我们从站的账号, 我们的从站的账号要和主站要保持一致,并且我们主站在轮询通讯多个从站的时候,我们多个从站的账号不能冲突,否则也会导致通讯失败。第四点 从站设备数据区读写类型,如果是只读的变量,那么你在创建变量的时候,创建了一个读写的一个数据变量,那么你连接以后也会出现一个通讯的故障和中断。最后一点就是我们主站和从站通讯的时候,我们主站不能访问从站的一个无效地址, 比如说我们 plc 访问一个温湿度仪表,读取温度和湿度,它映射到我们 plc 的 地址呢是四万零一和四万零二两个字, 那么我们 p、 l、 c 在 做通讯的时候,我们的访问长度如果写了三个字,那么这三个字超出了我们两个字的一个读写范围,那么它也会导致我们通讯的一个问题。如果上述的我们的一切办法都试过了,那么我们的通讯还是有问题,那么我们该怎么办? 接下来我们可以用我们的窗口调试工具和我们的从站的一个设备发送一个豹纹。如果我们发送这个豹纹以后,我们的设备给我们返回来一个豹纹,那就说明我们通讯过程当中我们的一些 呃参数,或者是我们一个硬件的一个接线还有一定的问题。如果我们发送这个豹纹以后,我们的从站没有给我们回复,那么很有可能是我们从站硬件的一个质量问题。以上就是摩托巴斯 i t o 通讯故障和我们的一些解决办法,大家如果遇到别的通讯问题,可以打在评论区,我们共同探讨。

默都巴斯通讯指令如何应用?保姆级教学,找到这个库,默都巴斯二九 master 是 他的主站,这个四六是他的松站,直接拉出来就可以用了。然后这边我给大家讲解一下这里为什么要放一个 sm 零点零,它的原因就是必须保证每一个扫描周期都被使呢?所以我们就使用一个 sm 零点零。 然后下面这是一个内置的一直等通的一个继电器,然后下一个就是一个模式,这个模式为一的话,它就是使能 modbus 协议功能,如果它为零的话就是恢复为系统 ppi 协议, 所以我们在这里也放一个 sm 零点零。然后是再看一下下面这个九六零,零是它的一个波特率,然后这个是它的一个椒盐味,零的话就是五椒盐,一的话鸡椒盐,二的话就是藕椒盐。 然后下面的这个的端口号,这个端口号如果我们是从这里接到九针传口的话,他就是零,如果在这个通讯班上接的话,他就为零。这里有一个扩展, 对他下面的这个一千,他的单位为毫秒,他是一个超时时间,如果他在这个时间段内没有,就是没有做出一个反应的话,就是直接报警。然后看一下下面这个指令,这个指令也是使呢前面放一个 m 点的 k 点,原因就是 同一同一时刻只能有一个读写的功能,就直接放就行了。然后第二个他前面为什么要放一个伤身言呢?原因就是每一个新的读写请求必须是用脉冲来触发,所以放一个伤伤身言。 然后是他是一个占地值,他的范围是一到二百四十七,这个按照自己的需求去填写就好了。然后就是这个 r w, 他 读是零,写是一,也就是说我们要读, 把里面的东西读出来,我们就写零,我们要是写进去的话就写一,但是他的模拟量输入和他的数字量输入只能读取,所以他的相对应的对应的地址是这个和下面的这个,所以我们在这里写了一的话,这两个地址我们就不能用了。然后下面的这个是地址, 在下面的这个十三,就是从这个地址开始我们要读取多少个数据,然后下面这个指真是一个特殊符号,他主要就是保存数据,然后这边是一个完成位,然后错误代码。

台达变频器 v d f 幺和 modbus pro 做四八五通讯调试。呃,各位总裁兄弟大家好,呃,今天是那个跟着总裁兄弟们一起学功控的第三期,今天我们主要是讲台达的那个 这个台达变频器的四八五通讯控制,呃,因为我们这个视频可能会录的长一点哈,就是会依次给大家讲到这个东西,首先你需要一个东西啊,就是台达的首手册,什么就是我用的这个是 vfd 杠一二的那个变频器, 好,你拿到手册之后是吧?我们需要改几个参数,然后我们在这个第四张哈,这里第四张在这个位置,先给他看一下第四张这里对不对?然后点开,点开后你会看到下面的目录哈,在那个操作方式,在这个操作方式我给大家开打开放大一点。 好,操作方式我们看一下, 好,这里操作方式,哎, 操作方式啊,第一个是频率是吧?第一个是变频器的频率啊,这里是 他的频率啊,是吧?这里是有他的操作数是吧?我们是由四八五控制好,我们就要选择这里四八五是吧?应该是选择三对不对?好,然后第二个是运转,运转指令来,来源指令射电是不是?运转指令好,我们这里也是射三,就相当于是零 零二点零零零二点零幺这两个参数好,我们都要设三好,然后才可以进行四八五通讯。然后这个时候第一次接触的时候,你可能不知道面板是怎么使用的哈,这里是面板是吧?面板怎么使用的 好,然后他是怎么做的哈,这个他也是有的,这里你注意看这个流程是吧?然后你按 model 的 时候,第一个是吧?待会我们也会用到哈,这个是 f, 是 吧?设置频率哈。第二个 h 是 是吧?第二个 h, 这里是设置频率哈,这里是当前频率哈,这里是,这是干嘛的哈,待会你们去研究一下哈。这两个我也没有去研究好。然后这个 f 就是 fnd 好, 显示 fnd 的 时候,你再按一下 model, 然后他就开始来进参数哈,这个就是零号参数是吧? 我们是零二零零零和零二零一,这两个参数对不对?我们进去设置一下哈,好,现在我们过去设置一下。 好,按那个魔豆键点一下,现在是 h 对 不对?现在是显示的 h 对 不对?放大一下,再点一下,再给他点一下,再给他点一下 f n t 对 不对?然后点一下 enter 确定,确定之后,现在是零二对不对?现在我们是零二号参数是吧?零零对不对? 然后这个是三号,因为我已经设置好了。然后点一下 enter 确定哈,然后我们再设一下网上零二零幺,是吧?也是设三, ok, 好, 这两个参数我们都设置 ok 了。 好,现在各位总裁们啊,现在我们继续是吧?驱动器的现在那个变频器的参数,好,我们现在是,嗯,已经设置 ok 了,现在我们来看一下下面一个 设置 ok 了。好,这个时候你需要一个,呃,需要一个调速软件是吧?我们要做一下啊,测试把硬件哈,就说 台打的话是这样啊,我,我这个是用的一个艾默逊的那个二三二四八五的哈,这个也几十块钱哈,这个也挺好用的。然后这里是它是网口啊, 接线的定义哈,就说你搞软件之前是吧?你先要把硬件搞定对不对?然后接线的定义他这里也是有的。再次这个参数哈,这时候我们就不是看功能一览表了哈,不是看这个功能一览表,对不对?我们要往下看哈,他是有一个 参数详情说明是吧?在这里,然后我们也是看零九号参数,通讯参数,这里通讯参数好,我们把通讯参数打开了之后,在这个位置,你看 他这里是有引脚定义的哈,你看这里是一二三四五六对不对?这是网口的对不对?分别表示干嘛的是吧?我们需要的是接四八五是吧?四八五就是接四和五就是网口的四八五哈,我这里是直接找了一根网线来把它拨出来的哈,就是把四号线和五号线 给它找出来了,这个因为它是透明的吗?水晶头是透明的,所以说比较好。四号线四接 b, 五接 a 是 吧? ab 线好,然后把它接好,就像我这样,就是你们把它接好就行了,对不对? 好,现在我们前面讲了这么多话,都是在讲硬件啊,现在我们讲一下怎么给他通讯好,你既然要给他通讯了是吧?你需要一些通讯参数哈,他这里都是有的是吧?我们默认就是九六零零哈,这个零九零幺,你看一下哈,如果你要其他参数你就去改啊,我默认是九六零九六零零是吧? 然后这里是通讯错误,通讯超时哈,这里是椒盐味哈,你看这里,这里它是有有几个哈,我们是 呃,八位数据哈,然后无校验哈,八位数据无校验,然后一位停止位 r t u 是 吗?我们选的是六,好,这个到时候你自己要去零九零四哈,就像我刚刚讲的那样,零九零四那个参数你自己去设一下,我设的是六哈,就是你们根据自己的 那个需求,对不对?好,设好了,就是我们先用那个 modbus pro 这个软件哈,这个好,我们给它点开一下, ok, 确定 ok? 好, 现在弹出来了是吧?因为我这个以前是参数是设置好了哈,他直接就连上了, 根本就不给我们机会哈,就是设置哈,就是现在我们再重新来设置一下这个参数是吧?第一个哈,我们前面也讲了哈,他这个是左四八五通讯的哈,就是因为我这个是接的爱莫逊的那个端口是吧? com 九啊,这个他是都是有的哈,九八九六零零哈,参数,九六零零是吧?八位 对不对?我们是八位哈,数据位是吧?无校验哈,是吧?这里是无校验哈,然后这里是, 呃,一位停止位哈,一位停止位哈,你把它设置好了,就像就是我们前面讲的那个呃,距离传感器哈,做四八五通讯一样的哈,你点一下确定 ok? 你 看现在它是通讯上,你看发送哈,就是因为它那个,我们看一下哈,它那个发的比较慢,对不对? 咱们给他断开,然后再给他连上啊,他发的有点慢哈,我觉得这个 啊,好像这里也最小就是五十了哈,他这个也改不了了,就说现在我们还是让他这样哈,就是他这里也没有爆粗哈,这里也没有红色的哈,说明他是现在已经通讯上了,对不对?好,那我们现在是要怎么控制他呢?就说这时候我们要看后面的控制参数了, 再往后,是吧?通讯参数里面再往后,对不对?我们主要是给他一个频率和方向,对不对?他这里你看这个就是我也研究了很久啊,这个东西也是分享给大家,是吧?这里 两千 h 哈,这是十六进折两千 h, 对 不对?第一个是对驱动器的命令,对吧?第二个是驱动器的啊,这个两千零一 h 哈,是频率命令啊,我们先试一下两千零一,这个对不对 啊?没事,我们先把它那个弄上哈,然后点那个 step, 兄弟们,嗯, step 哈,然后这个 word 哈,这个,这个读写吧,是吧? 选择这个,我们选择这个啊,然后再选择这个读写,好,把它打开,然后我们的参数哈,你看它是四,功能码是三零三哈,四驱是吧?我们看一下,它其实也也是有讲的哈,它的功能码是吧?功能码你看 啊,这里他是没有讲的哈,在前面的哈,他是讲了哈,就是零三功能码,是吧?四驱,然后实心值哈,我们这里是实心值,是吧?如果你这里选十六金子,对不对?那我们这里比如说从两千开始 看,他是自己升起来哈,他这个是十六金子哈,就你也不需要去转换,是吧?这个是十六金子哈,你这里可以选十六金子的,是吧?选了之后他就是两千,对不对? 你写十六字一字的两千哈,他是七次地址哈,四八幺九三,对不对?那我们只需要两个,两个地址对不对?好,然后就可以了,然后我们点一下,确定好,这就是第一个,是吗?我们看了这个参数,对不对?这个看不到哈, 放小一点,我们这个视频稍微长一点哈,因为这个是实操,是吧?然后这里你看其实地址哈,这个是是吧?启停啊这些之类的哈,待会我们给他,是吧?做一下 转换,对不对?给他做一下转换哈,这里是第一个是频率哈,我们现在可以看到频率的哈,现在显示的频率哈,我们看一下切换过来 f, 我 们刚刚讲 f 是 运行频率哈,现在是一十点零,对不对?好,我们现在把它改变它, 对不对?现在一四点零,我们改成两千,他是相差那个大概是一百倍,现在是这里变成两千了,对不对?那我们看一下变频器上啊,你看我给大家放清洗,这里看,现在也是二四,对不对?二四点零 对不对?好,你比如说我们搞一个特殊的数,二三四五,对不对?我们发送一下二三四五, 发送一下二三四五。好,现在你看一下电脑上,这里是二三四五,看一下二十三点四哈,因为有一位小数点他显示不出来。好,好,现在到目前为止哈,就是说咱们控制频率哈,是没有任何问题的,是吧?我们给他改慢一点,因为我们这个不能跑的太快, 这个流水线不能跑的太快哈,就是哈,然后现在是前面一个,对不对?这里哈,那我们怎么让他启动停止哈,你就要看这里了,就是,然后这个时候我们需要一个计算器,然后用程序员哈,你把它这里 计算器是吧?计算器就是 windows 自带的计算器啊,你点开了之后,上面这里是吧?打开导航这里选择程序员,对不对?我们用的是程序员哈,就是我们现在需要给它输入一个是二进字的,是吧?我们选这个 b i n 二进字的, 对不对?二进字的是吧?我们从从零位开始哈,我们这样不是我们要倒过来哈,就是从这里输哈,从最反过来,是吧? 啊?六和七我们不用管了哈,他默认是零零,我们就不用管了哈,你输零零他也没有用,是吧?然后这里反过来哈,改变方向指令,是吧?我们不用,是吧?我们现在是正方向和反方向,对不对?这里是可以正方向,这里可以反方向。那我们先就是先给他设一下幺幺嘛, 然后因为这里是两位,是吧?这里就给他一个幺幺,对不对?好,然后四和五,哈,四和五我们看一下是吧? 哦,对对对,四和五是幺幺,然后二和三是保留,是吗?保留就是零零,对不对?好,然后我们再继续看后面,后面的是如果是停止就是零幺,是吧?如果是启动就是幺零,对不对?那我们试一下幺零, 好,我们看一下哈,幺零最后做出来是不是他是一个三十二,嗯,哦,这个幺幺是不对的哈,这个幺幺是不对的,这里是幺零,是吧?这个应该是零,这个多了一位 啊,我们重新来吧,这个好像感觉不太对,要重新来,是吧?然后应该是幺零。零零,这个是零零,是吧?启动是幺零,我们看一下三十四啊,这个实景字,你看这里转转换出来啊,对不对?我们启动嘛,是吧?然后方向是, 嗯,我们方向给的是反方向,看一下哈,这里三十四是不是三十四?让我们看一下这里的方向,反方向我们用的是幺零是吧?反方向,那我们试一下哈,他可不可以再把它打开,我们用三十四对不对? 看到没有?现在是已经在转了哈,因为我们第二个参数是吧? h, 是 吧?现在你看是从零开始是吧?现在你看方向也是有切换的 one 是 吧, 对不对?好,三十四是吧,我们这样通过这种方式啊,你就可以知道啊,它这个用哪个参数对不对?三十四,那我们给它改一下是吧?嗯,我们现在如果要停止是什么?幺零 是吧?也是反方向零零,然后停止哈,这里的停止是多少?我们看一下停止是零幺零幺, 哎,多了一个零幺,我们是看一下是三十三是吧?这里算出来哈,他这个是三十三,三十三就是停止。好,那我们试一下先给他一个三十四, 现在你看现在变频器现在在转的哈,就是我们再给他三十三,就是他少一个数就停止,现在已经停止了,对不对?现在这里是已经是零零,刚刚是一十,对不对?好,我们就通过这种哈,就是另外一个就是方向啊,他是十八对,我们试一下,因为我已经算过了, 你看现在是已经转了,方向也是改了的,这里的方向也是改了,然后停止是十七。 好,今天哈就是给大家分享哈,就是也有点长哈,我们现在讲的是怎么用那个,呃, modbus pro 软件哈,调试那个台大变频器的 modbus 那 个四八五通讯啊,通通讯来调它的那个参数哈,现在是已经 ok 了。好,今天先这样。

昨天去面试,问我什么是 model 八十 r t u, 这玩意可是通讯界的老大哥了,搞公控必须得知道这玩意呢啊。老铁们要知道, model 八十 r t u 是 一种串口通讯协议啊,它就像咱们看谍战剧里的密码本一样,你光截获一串豹纹没有用,那没有密码本你破解不出来,不知道说的是啥。 咱们这个 model 八十 r t o 就 和密码本一样,那发来的数据就是一大堆零和一,没有这个密码本,你知道他讲的啥呀?那这一大堆的零和一是通过啥传输的呢?哎,这就用到了咱们常说的 r s 四八五了啊,它就是完成传输的硬件了, 两边是两个接线端, a 接 a, b 接 b, 两根线,注意要用双角线或者多角线啊。啥是双角线呢?那你像这样把这两根线拧成麻花,那就是双角线,把好几根线拧成一股,那就叫多角线, 这样他抗干扰啊。咱们接线,从主站出来的线要并列到各个重站,这个通讯的搭建模式是一组多重,主站是 p r t, 重站就是各种仪器仪表设备,他的工作模式是主站喊名,所有的重站都能收到, 但是喊的不是他,他就不吱声,那只有被喊名的站才搭理他。那有的老铁问了,这玩意也不是人,他咋知道喊他呢?这是咱们第一个要设置的,叫赞号,这个参数是给各个重站设置的,像你叫一, 你叫二,你叫三,这名你可别起重了,你一喊名好几个回答,那不乱套了吗?那起完名还有几个参数也要顺手改了啊。第一个就是波特率,它是每秒能传输多少个零或一 零就是咱们的低电瓶,一就是高电瓶啊。这个咱们一般都用九六零零,就是一秒钟传九千六百个零或一。这玩意你射少了,它传输慢, 你设多了,他信号不稳定,你就整个九六零零,一点毛病没有啊。下一个是数据尾,一般都设个八,就是八个一或者零,吃一个完整的数据。再下一个是椒盐, 这个椒盐你干扰大的地方你就设一个鸡椒盐或者藕椒盐,没有干扰的地方你不设也没事啊,他主要就是检测你数据的精准性呢。 后是停止位,他就是两句话中间的句号,空几个位一般都设置个一就行。这几个参数是从赞主赞所有的都要设一样啊,那你不一样的他就通讯不上了。那 ok 了,老铁们,你是不是感觉还是网线香啊, ip 一 改就完事了。

今天这个视频手把手教你们用 modbus live 软件,把咱们的电脑直接变成 modbus 重站和 plc 实现通信对接,用这个方法呢可以轻松搞定通信逻辑和排除通信硬件是否故障。 重点是如果你是新手小伙伴,手里连 plc 都没有,你也可以跟着练,咱们直接用虚拟环境把 modbus 主重站的通信逻辑数据交互讲的明明白白。今天我们用这个软件将我们的电脑变成一个 modbus 重站,然后通过 p l c 去读取我们电脑重转的数据。首先讲有 p l c 硬件的情况下,这是 p l c 的 b d 块,四八五的 a b 两根线接到我们四八五转 usb 的 a b 口,然后插入进我们的电脑。插入进我们的电脑之后,我们现在开始虚拟一个重转出来,打开这个软件,打开软件之后呢,点击设置 重赞,定义出来一个对话框,我们要搞清楚他的这个逻辑以及他的功能。第一个是什么呢?就是重赞的地址,第二个是他的重赞的功能,零一的话是线圈状态,零二输入状态,零三保持寄存器, 零四输入计算器,我们就以保持计算器啊为例,读它的保持计算器,然后我们选择零三,选择零三之后,地址模式我们不改变,它用实景制地址的话,我们这里看一下,它是从零开始,数量是十个,那么就是零一二三四五六七八九, 好行数的话十行,这里我们都不需要改变,我们直接点确定,确定好之后,我们看到这一边是数据的名称,这一边的话就是数据的内容。然后我们再看什么呢?这个 usb 插到哪个 com 口?我的电脑 管理点击设备管理器,然后找到端口在这 com 三是吧?记住它,我们点 连接,这是串口端口,当然我往下面写它有什么 t c p, 我 们选择串口,然后串口设置刚才是 com 三,然后我们进入这个波特律,是九六零零八个数据库, 无校验以及一个停止位,我们点确定,这时候我们的电脑虚拟出这么一个从站就完成了。我往从站里面的数据去写信息,第一个我写一二确定,第二个的话三四,第三个的话四五, 这个都是我随便写的啊,我就看我写出来这个,嗯,数据能不能被 plc 给读出来,五六六七七八两百一百。 好,数据建立完成了,我们把它缩小回到程序。首先我们看开机的话,八零零二啊,这是通信参数,这个通信参数就是什么八个数据位,没有校验,一个停止位以及九六零零的波特率 放到八幺二零,然后我们再用无协议指令去指定他,指定,这是什么意思呢?从低零开始的八个计算器就是低零,一直到第七是我主站的请求报文,第十到第二九是从站的回应数据,为什么要三十呢?因为我要读取十个计算器对不对? 每个寄存器他要占两个字节,所以我们宁愿多一点,不能少读这十个寄存器。好,我们看一下包文,第一个账号一号站在这是吧?然后第二个是读取多个寄存器功能码,零三 零三,从地址零零零零开始是吧?它这里占了两个字节以及读取数量是十个,地址零读取数量十个,它这里为什么是 h 零 a, 因为十六进置的十就是 a、 c、 l c 向量的话,你可以让它自己算,每零点五秒 读回一次数据,用 m 八幺二二去读回。好,我们的 plc 的 通信电缆也插上去了,把 plc 开机,我们就写进去, plc 写入好,现在已经写入完成了,我们看一下计算机里面的数值,我们是读从 d 幺零开始,打到软源键缓冲处理器批量监视,从 d 幺零开始点回车, 就是他就已经什么已经读出来了。第一二三不需要看他回应,因为是这个账号这个功能吗?以及他给了我二十个字节的数据,我们就看数据是不是和重赞是一样。第一个数据地址零零零零,他的数据是十八,对不对?十八。然后第二个数据三十四、 四十五,你看十八,三十四、四十五是吧?五十六、六十七,两百一百,完完整整读出来。八和九我没有定义啊,这时候我定义一下八和九,我随便定义一下五十, 确定看到没有,他就已经读出来了,是吧?那第九、九十九,我随便定一个点,确定 看到没有,这里也读出来了,是吧?完完整整把咱们的这个从站的这个数据读出来了,是不是?如果你说我需要对从站的数据的继承器进行写,怎么办呢?那我们再来试一下,我就对单个继承器进行写入,对哪个继承器进行写入啊?从站我就对 二号寄存器,记住啊,二号寄存器零零零二进行一个写入,更改一下程序,按 f 二改哪里呢?改它的这个功能码以及写入的数据,它的功能码本来是三,我要改成六,写单个寄存器,双击它 h 三,改成 h 六, 我需要将二号寄存器写入职八十八,寄存器地址他就不是零零零零了,是零零零二,所以我们这里要改一下,改成零二, 确定计算机地址,零零零二,然后写入的数据八十八的话,他的十六静止转换结果是五八,那么我们这里要改成零零 h 五八, 确定 f 四,然后再重新写入,写入完成了,我们看一下啊,第一个数据账号,第二个数据功能码,第三个数据啊,读零零零二,看到没有?这里零二零零二 这一个计算器里面的数值写的数据是多少呢?八十八,这里就改成了八十八,是不是将咱们重建的数据已经发生了改变?接下来如果我们连 plc 都没有,我能不能通过模拟来 完整的测试一下咱们的这个通信逻辑呢?如果你想学想模拟的话也是可以的。跟着我拿,我把 plc 关掉,然后把这个抽出来以及通信线缆 给拔出来。我现在就仅是一台电脑的话,我怎么去模拟去读取咱们的虚拟存占呢?需要 这个软件和这个软件,你们有需要的话,你们可以定向我。首先我们打开这个软件虚拟窗口,我虚拟 两条线呢,一条给 plc 用,一条给咱们的存占。 com 十和 com 十一是同一根线, com 十二和 com 十三是同一根线,我们虚拟出来之后,先把它缩小,打开这个软件, plc 模拟器好,双击它之后,首先我们就一定给它去连上线,我们刚才是虚拟出来的是十 和十二,另外一个端口是十一和十三,这里选择十对吧?那么 plc 软件那边一定选择十一,是同一条线,然后我们再利用另外一个通信扩展口,我选择是十二, 那么另外一边就是十三,然后打开下载口以及开启扩展通信口,再打开 plc 软件,把它写进去。怎么写进去呢?跟咱们真实的连线是一样的,连接目标连接一,这个端口是十的话,那么我们 plc 这边就一定是十一,因为它是同一条线 啊,否则你通信不上点,确定写进去之后,其实它就已经运行了,我们按 f 三啊运行模式这一边的话,我们也要更改一下哦。连接这里一定要选择不是 com 三了,是要选择 com 一 十三。为什么是一十三呢?因为我这个地方是选的 com 十二,同一条线,那么就是 com 十三,其他的我都没变点,确定,确定完成之后,运行模拟器存储器第一啊,把它显示出来,它就已经读取出来了,看到没有数据的话,我们是从第二零开始啊,账号一, 功能码三读取多个计算器反馈给了我二十个字节的数据。好,我们看一下,我的这个重建数据是八三十四、八十八、五十六、六十七、七十八。好,它读回来数据是八,对不对?三十四、八十八、五十六、六十七,对吧?和这个是一模一样啊,我如果是在这里稍微更改一下,我八十八改成九十九, 看到没有,它这里相对应的它也改成了九十九。其实不用任何硬件,你想搞懂通讯 modbus、 rtu 的 这一个逻辑的话啊,你也是可以去 做这样一个练习,包括我们如果有硬件去查找故障,是不是哪里通讯不上,我们可以将电脑模拟成重站去看一下。那这个是不是通讯模块是不是有问题呢?测试一下,这样的话就可以排除一部分故障。今天我们就讲到这。

今天我们讲一下毛泽巴士同意协议的 csc 教验计算方法及莱巴菲有实现方法。模特巴斯的 csc 教验算法主要有如图所示的八步 对应的莱伯 vivo 程序框图,如图所示。接下来我们一步步介绍。首先需要注意的是,要交验的数据是八位的无符号整形。为了防止输入数据时出错,我们将输入数据的表示法设置为无符号单字节整形, 并将输入数据的显示格式设置为十六禁止。 现在我们结合着算法分析程序。 第一步,加载一个权威一的十六位计算器,这个计算器就是 crc 计算器,相当于是设置 crc 的初始值为十六个一。第二步, 把第一个八位的二定制数与十六位的 crc 进行易货处理。为了易货处理的两个数据类型统一,我们将输入的八位无符号整形转换为十六位无符号整形。我们先暂时不管程序最外侧的放循环,并且认为输入的是一个八位数字,不是数组。 第三步,将易或后的十六位 crc 二进至值右移移位,右移后左侧最高位补零,并确认右移出的值是零还是一。这里我们用到的是带进位的右移位函数, 我们右键看一下这个函数的帮助文档,通过文档可以看出这个函数位于数值函数下面的数据操作函数中,我们在函数面板中也能沿着这个路径找到他,该函数的逻辑如图 所示。如果进位为处,则薪值最高位补一。如果进位为 boss, 则薪值最高位补零。 如果最右侧移出的位的值为一,则最低有效位进位为处。如果最右侧移出的位的值为零,则最低有效位进位为 boss。 根据第三步的要求,只需要将进位置为 boss 即可。 第四步,如果移出的位为零,则不对数据进行处理。如果移出位为一,则与十六进至 a 零零一进行易获程序比较简单,使用了一个选择函数 以及一个与 a 零零一的易货处理。第五步,重复第三、四步,直到右移八次。这种重复性的操作使用的是放循环,循环执行八次。在放循环中使用了移位机 寄存器,其中一位寄存器的逻辑是,当第一次执行放循环时,使用的是前面程序传入的值。当第二次及后面执行放循环时,使用的是前一次放循环计算的值。 第六步,重复第二至五步,对下一个无符号单子结整形数值进行处理。这里我们仍然使用的是放循环,此时输入的数据是一个数组,并且在放循环中使用了自动缩引隧道和移位计算器。 自动缩影隧道的作用是依次读取数组中的元素给货循环,货循环的执行次数等于数组的大小, 因此使用了自动缩影隧道后,不需要再设定循环次数。接下来我们看货循环中的逻辑,当循环次数二等于零, 也就是第一次直行时,直行的是第一、二步算法。这就是我们前面讲的逻辑,当循环次数二等于一,也就是直行第二次放循环时,输入数字中的第二个数会通过自动缩引隧道进入放循环 与放循环移位计算器中。上一次放循环计算的值进行易获处理,放循环会重复执行,直至输入数组中的元素被全部处理。第七步,将第六步得到的十六位 crc 数值的高低字节进行交换。 这里我们使用的是交换字结函数,这样就得到了 crc 交验码。因为有时候会将交验码处理为字符串,因此程序中增加了一个转字符串输出。接下来我们用这个例子验证一下。程序 分别输入需要教验的数据,点击运行教验,计算结果为十六进制九九七五,与文档中的结果一致。

在上一个视频,我们就把这个二 n 的 plc 做好了通讯线的连接,那么我们就看一下他计算教验码的程序,从上面的程序一录下来, 只程序 p 一,从这行开始一直往下 到这个 sr et 返回指令,这一块的程序都是计算教育码, 我们从 p 一第一行开始, movk 零 v 零,一直下来至每一条程序是什么功能,其实我们并不需要去了解它,我们只要做几个修改,就可以调用这一条 指程序去给我们计算教育码,我们看怎么修改这个程序。 第一条指令,第二条指令,我们只要注意这个 d 一百 v 零,这些存储器就被占用,在我们上面写程序的时候不能使用这些存储器,下面还有 d 幺零幺 也是占用的存储器,我们不能去使用,下面还有低幺幺幺也不能使用, 只要在这个紫城市里出现过的存储器,我们都不能在外面再去重复的使用它,那么我们要做出修改的地方有四 四个地方,第一个地方是 f o r 低龄,这个低龄存储的是计算教验吗?多少个字节, 这个低零,我们要把数字写进去,在上面的程序我们就看这个位置, movk 六低零,把六这个数字传送到低零, 这个六四指六个字结,我们看这个按下 x 零三,那么发送的代码是零一零六二零零零 零零零一,这里是六个字节,我们就是要计算这六个字节的教学码, 那么传送给低龄的就是一个数字六十进字的六,所以这里是 k 六。我们返回去看计算教育码的程序, 那么这里的低龄被传送过来的是一个数字六,那么他下一条指令我们要做修改, 这个是已运算,这个是抑或运算?我们不用去管他,我们只要把这个 d 五零 v 零前面的 d 五零做出修改,这个 d 五零的数字是我们用来发送 数据的第一个存储器,这个存储器是从哪里来呢?我们看网上翻到程序的最开始 无协议指令 isd 五零 k 八,从 d 五零到 d 五七,这八个存储器就是用来发送数据使用,那么他的第一个存储器就是 d 五零,那么我们就把这个 d 五零的数据改在这个位置。如果你的是 rs d 零 k 八,那么你使用的存储器是低零到低七至八个存储器,那么你在下面, 那么你在下面就把这个低五零改成低零,那么就是发送数据的第一个存储器,那么这里 也是修改的第二步,那么一直往下这些地方都不用去修改,它可以直接吊用。那么到下面 我们一直看到指程序的最后 sr et 指令,返回指令,那么这里就是指程序的一个结束指令。那么往上看,这里有三条计算指令,这个是已运算,这个也是已运算。 swap 是交换高低字节,那么这一个低幺幺零就是计算较业码的结果,低幺幺零纯属的是计算较业码的 第八位,第一幺幺幺成熟的是计算教练吗?结果的高八位, 我们就是要这两个存储器里面的数据。最后条指令是把低幺幺幺里面的数据高八位和低八位交换, 那么我们把低幺幺零和低幺幺幺的数据调取出来,就是我们需要的校验码数据,我们看一下上面 还是从这里看,按 x 零三就会发送停止的代码, 然后扣 p 一就是调用 p 一子程序,子程序计算完教业码之后,我们用传送指令 mov 把 d 幺幺零里面的教业码计算结果的第八位 放到 d 五六这个存储器低幺幺幺是胶液码计算结果的高八位,把它放到 d 五七这个存储器 d 五六和 d 五七,那么就是发送教育码的第八位和高八位。 因为我们使用的存储器就是从低五零、低五一、低五二、低五三,低五四、低五五,那么到了低五六,存储的就是轿业码的第八位,低五七是存储较业码的高八位,那么这只数据发送给变频器之后, 那么这个变频器做出的指令就是停止运行,这台变频器是台达的 vfd 杠 m 加, 就是我们上个视频接线用到的变频器。最后条指令就是四 s m 八幺二二发送通讯请求,那么我们再看一遍这个指程序需要修改的地方,从 p 一开始的就是第一条指令 里面出现过的存储器,我们在其他编程的地方不要再去使用。第一条要修改的地方是 fo r d 零, 我们用 mov 传送指令,把 k 六这个数存入低龄,如果你计算的教练码是八位数,就 传送 k 八到 d 零,那么第二个地方修改的是 d 五零这个位置。你用的 发送数据的第一个存储器是低零,那么就改成低零,如果是低两百,那么这里就改成低两百,继续往下到最后 计算叫野马的结果存储在低幺幺零,低幺幺幺,低幺幺零是叫野马的第八位,低幺幺幺是叫野马的高八位。 修改这四个地方就可以使用这个计算教练码的程序, 我们往回去看一下整个程序,第一条程序就是写入通讯格式字,设置数据位长八个位,然后无协议指令啊 sd 五零 k 八,那么 我这里用的存储器就是第五零到第五期八个存储器用来发送数据,使用第一条指令按下 x 零一的时候发送了代码是零一零六二零零零零零一二,这是启动变频器的代码。 关于这一部分的程序和计算,这一个控制代码在我们的专栏视频里都有讲解, 那么这里变频器代码的详细讲解,在专栏的三十五个视频有详细讲解,可以免费观看。 那么到这一步就是 movk 六到低零,然后调用纸程序,然后把计算教验码的第八位放入 d 五六,计算出较业码的高八位,放入 d 五七,发送通讯请求,那么就完成了这一组代码的编写。 下组代码 x 零二是写入频率,发送的代码是零一零六二零零一二七一零,这组是发送变频器的频率代码, 二七零一是十六进制数,转换成十进制数就是一万。 发送自主代码给变频器,他就会以最高的频率运行,你在变频器上设置最高的频率是五十,那么他的频率就是五十号之运行。关于 这一部分频率写入的详细讲解,在专栏的第五十个视频有详细讲解,这边我们就不去重复的讲解,他同样是把 k 六移入低龄调用纸程序, 然后把计算教验码的第八位乘入第五六,把计算较业码的高八位乘入第五期,发送通讯请求,那么变频器输出的频率就会是五十二只。 第三个指令按下 x 零三,发送出去的代码是停止这个变频器,那么计算教育码也是这几个步骤。到最后我们再强调一遍 p 一,它是一个 指程序,从 p 一的标号开始,这里是计算教练码的第一条程序,从这里开始往下的 所有的程序都是这个计算教练码里面的指令,我们要一直到这个 sr et 指程序返回指令才是完整的。这个计算教验码的程序,我们可以把从 p 一开始一直到下面 织女的指令全部把他编写到一个文件存储起来,然后你要使用的时候再把自己的程序复制出来,那么就可以去计算教育码。这个视频我们主要的内容就是 是了解这个二 n 的漂流西如何调用这一个紫城去去计算教练吗?然后我们修改四个地方,那么这个程序我们就可以去使用它, 我们并不需要具体去了解这些以以运算抑或运算的具体内容,我们就可以调用这一个程序。好的,感谢你的收看和支持。

看一下,这是我们 p l c 的 一个 modbus 程序,然后我们上面是一个 modbus, 一个初步化指令,九六零零二零一千。那这个是什么意思呢?我们看一下啊,来,这是一个 modbus 的 一个通讯指令的一个讲解。 这个九六零呢,它是一个波特率,就是我们通讯数率是九千六百比特每秒。这个二呢是一个偶校验,你像我们这个 p l c 通讯,它需要校验。然后这里还有一个零是我们的端口, 也就是我们 p l c 用它自带的这个四八五通讯口呢,我们这里就写一个零,然后这还有个一千,是我们通讯的一个时间设定。 下面是一个 modbus, 一个执行指令。你像这个三呢是我们的账号伙伴,账号 零是我们读取伙伴的数据,四千零一是伙伴的一个数据地址。那我们通过这个 modbus 指令呢,我们就可以和我们的 plc 啊实现一个通讯。 大家想学这个 plc 呢,可以拿着我们这个零基础快速学 plc, 然后在我们这个直播账号上跟着我们一起学,然后我们这个课程也是有这个配套的学习视频。


我们现在来看一下这两个 plc 的 一个 modbus 通讯。第一步呢,我们把这个四八五的线给接上,然后就来写程序了,你像我们这边的通讯的话,它有一个主站程序, 然后还有一个这边还有一个重赞的这个程序,我们先看一下这个主赞程序,有一个 modbus, ctrl 还有个 msg, 那 这个指令呢?它其实是我们的一个初步化指令,相当于我们这个四八五的这个通讯口呢,我们把它定义成 拨退率九千六,偶教练,二是偶教练,零是我们通讯口,一千是我们的超时。那这样的话呢,我们这个通讯口就设置好了第二个指令呢,它是我们通讯的一个程序发送接收指令。你像这个 r w 是 一的话,相当于是我这个 plc, 我 要把数据写给另外一个 plc, 如果这个 r w 他 是零的话呢,那相当于是我这个 plc 我 要读取另外一个 plc 的 这个数据。 好,然后这边有一个三,说明对方是三号站,四万零,一是对方数据,然后一呢读一个未必,零是我们的地址,那这样的话,我们这个主站呢,相当于就已经建立好了他的一个地址,然后数据地址, 然后通讯数据量已经建立好了。那接下来我们看一下这个 modbus 的 这个重赞,重赞的话呢,我们看一下它也是一样的啊,先有一个粗死化指令,把我们重转的定义成九六零零,偶教院端口延时, 然后接收地址,然后我们从这还有一个人群,就是实时响应主站的一个通讯,那把这两个指令完成,那其实我们这个通讯呢,就可以建立起来了,后面就根据我们具体的通讯数据呢实现这个数据编写, 然后还要分配一下我们这个 modbus 通讯程序。

今天我讲一下添加 modbus 数据源,点开左上角的,打开菜单按钮,找到连接数据源,现在这个是数据源页面,我现在已经有一个 modbus 了, 我先把它删掉,然后点到这里有一个添加数据源,拉到底,找到 modbus, 我 的 ip 地址是幺九二点幺六八点幺零幺,这里就输入这个地址, 然后我用调制助手做它的仿真数据,这里它的这个 slave, 这个 modbus, 助手就直接这样子设置五零二端口, 然后它的地址是四零零幺零三寄存器, 我这里随便搜两个名字,随便添加两个变量,然后地址就选零三零三,数据类型选十六位无符号的地址,这个是一二,我们点一下保存 在通讯设置,做个通讯测试,发现它已经有数据了,我改一下 就变过来了吧,如果是线圈也是一样的,再点一个线圈,找到线圈布尔类型,因为线圈的地址是不是四万零一就,我们就要重新新建一个,找到这个 new, 然后这里设置改成线圈这个样子,然后我们测一测试一下, 因为他刚开始点进去之后没这么快,刚才没保存, 现在就改了嘛。然后我们改成 on, 测试一下,他就变成 on 了吧。 然后魔道 boss 它是有一个现象验色的,比如说我的传感器读到数值是零到两百,我要做零到死的五十的验色, 这里就这样改零到两百,零到五十,然后这里现象验色改成 yes, 这个不能忘记,再点一下保存,再测试一下,看到没,这个数值就不一样,零点二点七五了,变成 他实际数值是一嘛?一啊十一,做了线下验色,我输了两百,他应该就是五十 做测试,你看就是五十了吧。然后回到我们的手,这个名字我们可以自己改一个,也随便先写一下吧,然后这里打一下默认,后面就是比较方便再点一下保存, 然后回到我们首页,可以添加他的控件,要注意这里的数据源,因为我们刚才已经在数据源那里打了个勾,就是你就是让 modelbox 做默认, 所以现在是自动是第一个数据源,如果不是打勾打默认的话,你这里就要选不同的数据源了,我们你看这里有一个的就表示自动默认的意思了, 刚才叫 a a, 然后 b, b, c, c 这样子吧, 然后我们选这个空间就可以控制它了,现在是五十,然后九十九,因为它也做了线线跃色,所以这个值是有一个比例的,那这个就没有了,九,它这个就九了吧。 然后这个布尔量,布尔量是有点特殊,现在是一嘛能改成零这样子,改它变成零了。然后你也可以用按钮,这里这个是 c, 表示我对应我们 c 的是线圈变量,那这里改成请按钮, 然后他有一个字位,现在是零啊,字位点一下他就变成一了,然后复位点一下就变成零了,然后按一松零,按住是一松开是零, 还有一个脉冲是输出两秒的脉冲,两秒后就变自动变成零了。