粉丝3.6万获赞8.2万

plc 和变频器做四八五通讯保姆级教学,第一个就是通讯九针串口,一端接到 plc, 另一端接到变频器,这个九针串口啊,它的三号针管对的是变频器上面这个 sg 正这个端子,然后八号针管对的是 sg 负这个端子,然后旁边这个 sg n d, 这个是屏蔽层。然后是变频器要设定的参数有五个,第一个就是零零零二,参数关联设定改成九, 是五十合资,然后是零零二零拼拼置零来源改成一四八五输入,然后是零零二幺,也就是它的运转指令改成二,也是四八五,然后是零九零零,这个是它的一个通讯地址,它的分位是一到二百四十四十七就是我们要做好多个设备, 做通讯的话,我们就要给他定义你是一号站,你是二号站,就是为了避免冲突,这个按照自己的需求定义一下就好了。然后是零九零四是 com 一 通讯格式改成十四八个数据位,藕胶也还有一个停止位。 做完这些以后呢,我们就可以读取变频器里面的数据,我现在启动一下,它实际的频率是五,然后它现在的输出的电压是四十四, 然后他的电流是零点九,还有是这个电机的转速是一百五,然后是实际频率是五,这个可以改成五十对,确定我们的这个 速度就提起来了,然后这边输出的电压也慢慢升高。下期讲解 plc 的 通讯指令如何应用,记得关注哟!

你还在自学 p o c 吗?是不是觉得 modelbox 很难理解?下面原创内容,欢迎点赞收藏!四个维度理解 modelbox 通讯, 一是 s 四八五接线,第二是 b 二零参数配置,第三是指令程序,第四是豹纹。 model bus 是一种通讯协议,大家可能还听过一些,比如 uss、 s 七 p、 n、 d、 p 这些通讯,而这些都叫做协议。协议就等于说话的语言, 那么线路和硬件就是说话的嘴巴,也就是基于 s 四八五串口的 model bus 通讯。这里下边是两百 smart plc, 上边是 b 二零的变频器,这里下边是两百 smart 的串口银角,上边是 是 v 二零变频器的串口银角。而 modelbox 接线就是把两百 smart 的三号角接到 v 二零的 p 正,把两百 smart 的八号角接到 v 二零的 n 负。你看懂了吗?关注我,下期视频带大家理解 v 二零变频器在 modelbox 中的参数配置。

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

幺二零零 prc 走 modbus rto 怎么与串口设备通讯?今天我拿这个串口 io 模块来演示一下,很多新手通讯不上,就是有个细节忽略了,不会就收藏一下吧? 我这里有一个幺二零零 prc, 通过这个四八五口与这个串口设备通讯, 这个传感器也接到了这个模块上,用这个通讯程序就读到了传感器的当前数值。这是怎么做的呢?我们一起来看看。 首先是硬件组态,添加一个 p r c, 再添加一个四八五通讯模块,然后打开这个四八五窗口的属性,确认一下,操作模式是四八五两,限制。在端口组态这里 设置串口参数,这些参数要和这个串口下挂的串口设备保持一致。这些串口参数我通常都设为九六 n 八一。 接着就可以编程了。新建一个 fc 块,在程序段中添加 comlog 通讯出驶话指令,再添加一个主站通讯指令, 这里的 i q 用上升研来触发。这个 post 是 硬件标志符,硬件标志符就在这个串口属性里面,有个系统长竖,把这个名称复制粘贴过去就可以了。 波特率是九六零零,要和前面我们设置的参数一致啊。叫验是零,也就是无叫验的意思,如果是一呢,就是己叫验,如果是二,就是偶叫验。下边这三个参数默认为零, 这个一千是超时时间,也就是一千毫米。这个引角应该怎么填呢?填这个主站通讯指令的背景地块, 这样还不行啊,需要再加上点 m b 杠 d b, 这样就可以了。 再看主站通讯指令,这边 i q 用一秒钟时钟上升沿来触发,这里填,你要访问哪个?从站站号,我这里是一号站,这个 mode 是 读写模式,零读一写, 所以这里是读取,这个三万零一是要读取的寄存器的地址,怎么确定这个地址应该填多少呢? 这个你要查看产品的通讯手册,手册上一般都会有写。这个六是长度,也就是从三万零一开始的连续的六个,这是一个地址缓存区,也就是你读到的数据要放到哪里。我这里放到了 db 三,这个数据库, 后边是 db 叉,二点零指的是偏移量,从二点零开始的 db 三,这个数据块优化的快,访问这个勾要去掉, 然后再编一下才能看到这个偏移量。这个 int 六就是六个整数,这个时针指向的就是 db 三,这个数据块 从 dbx 二点零开始的连续的六个整数。程序段一,还有一行程序,把四复制给这个参数,很多新手通讯不上,就是这个细节忽略了。那这个参数在哪里呢? 就在这个 com 六的背景 db 块里面,这里有一个模式,这个模式一般都默认为零,是二三二通讯,其实我们常用的是四八五通讯,所以要复制为四。下载程序到 p 二 c 测试一下, 你看,这就读到了传感器的数据,因为我这里只接了第一个通道,这里显示的是温度十五度。 怎么控制这个模块的输出呢?只要再添加一个马斯尔指令就可以了。这里的读写模式要改为写入, 还是一号站寄存器的地址呢?是一,为什么地址是一呢?这个还是要查看通讯手册,这里会有说明。线圈的数量是八个, 打算要写入的数据就在这个地址地址里面,这里指向的是数据块 d b。 三、从 d b x 零点零开始的一个字节。再次下载程序测试一下, 为了控制这个模块的输出,直接给这个字节复制,复制为两个 f。 你看这里就点亮了。其他串口设备的通讯程序,拿这个修改一下就能用,不同的就是存帐、账号、寄存器地址和数量。如果你在通讯中遇到什么问题,评论区留言给我。

各位朋友大家好,这个小视频给大家带来一一下木头巴士轮巡,那么上一个小视频给大家说了,读一块仪表,那么这个小视频给大家说一下,读两块仪表在一个木头巴子那个,又掉一个木头巴士主战,然后读两个,呃,读两个流量记吧,读两个流量记, 一个占地址是一个占地址是二,那么都在这个四八五,那个都都在 cpu 本身集成,这个,这个四八五上啊。那么首先咱把这个这两个乘以块挪到咱们相应的魔法程序里边挪,挪过来,挪到这个里边。 然后呢,咱这是读了一个,是每一秒钟读一次,每一秒钟读一次。那么咱在这个民主程序里边给他做一个,做一个时间六十秒一循环,六十秒一循环。那么咱这里要用 投入计算器,上个上。上个小视频给大家说过投入计算器啊,比如说这个用,再用这个克拉克,一秒就是 零点五秒接通,零点五秒断开,就是一秒钟接通一次,接通一次呢?这个是个 sm 零点五,对吧? sm 零点五,我们来用一下这个啊,用下这个,我给我教大家怎么做人群, 比如 sm 零点五, sm 零点五,卡拉克一秒检测到上升盐,选择上升盐,上升盐是 p, 嗯,就上升盐,当他有上升盐的时候,怎么着呢?加一选 add, add 整数就够了啊,整数哪个呢?咱用,比如说再用 vbr v w 二百吧,可以吧?加多少?加一个 在输出的 aw 二百,这是一个典典型的一个里加程序啊。然后还有一个还有一个条件呢,就是当他等于多二时候,让他等于零,对吧? 我在干嘛?稍等一下啊,当我当什么啊?当我大于等于六十的时候,就这样等于零就可以了,对吧?这样就完成一个,这样就完成一个六十秒轮旬。我们这选择等于 a, 选择这个等于等于,哎。 v w 二百。 v w 二百等于等于六十 的时候,再垫一块木, m o v e, 这是复制的 m o v e, 你看这这个幺二零,就是这么不是二百,就是这么不智能啊,你得往下滑多点两下,你做一个比较,当 v w 二百大约等于六十 的时候,就是在做一个木,我这这边掉一个空框就行,因为我知道他的指令,你假如不知道的话,你就得在左边来选,对吧?木木 w, 我说我给大家讲过这个数据类型啊,大家不知道可以在前面看一看,把零给到。给到谁呀? v w 二百,这就完成了一个编一下,这就完成了一个循环的累加成。完成这个以后有什么用呢?就是我要,我要做这个啥的时候就可以直接 用了,总不能把它轮巡的时候就可以直接用了,比如说我这处罚的时候不用克拉克一秒处罚了,我用什么处罚呢?我用比较指定处罚 等于等于,哎,当我 v w 二百。 v w 二百等于一的时候,触发第一块,对吧?触发第一块,那么什么时候触发第二块呢?我复制一下, 复制粘贴,我等于十一的时候,我十秒钟读一块,我占地址是二,我还是三四幺幺三,我读回来的数我放到 v w 一千一里面,对吧?可以吧?然后我这档我是为一千点二,这个是 vb 幺幺三, 对吧?这就完成了,对吧?这就完成了啊,咱看输出有没有错误,输入错误是零,这就完成了。一个轮旬的轮。呃,那个两块,一个轮,那么三块呢?很简单啊。啊,这我没改过来,这个很难, 必须点一下回车才过来。我假如说三块,我就再复制一下。 二十一可以吧,检测到伤身烟,我占地址是三, 这是幺三零零,必须得回车才能急,这点比较烦人啊。一百点三, 其实还有一种类型的方法,我下一节下一个小视频的时候给大家讲下一个类型方法,那个类型方法实施性更高,这个类型方法呢就是适用于实施性不高的这么一个类型啊。那么这个小视频呢,就分享到这里,谢谢各位朋友。

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

两分钟搞定 plc model bus 通讯今天是要励志学会 plc 的第七天,出门要遇贵人。第一步,接线 plc 这端的接线就是三号接针脚接正,八号针脚接负。我们另一端接电脑 去拿一个 usb 转四八五的模块, a 就接到 plc 的三号链接, b 就接到 plc 的八号链接,告诉大家千万别接错线,你是在骂我吗?哔哔哔! 第二步,写 p l c 程序写 p l c 程序之前必须要先认识两个指令,其中一人角和木头角必须用 s m 零点零进行关联,其中这两个关角分别代表波特率和交界位。破头广角零代表着 cpu 本体的四八五,一代表着 s b 扩展版的四八五。 泰猫奥特转角代表着主战,等待重战的强行事件。杠和艾柔分别代表着完成位和错误。第二个指令是专门设置摩托巴斯地址读写方式,摩托巴斯 计算器地址和读写长度西门子计算器的对应关系。大家如果想学习充分变成和王八通讯的,可以点击我右下角的链接。现在配合中不仅能领到一个六十块钱的红包,而且还可以得到免费的技术支持。下面可以写 plc 的轮讯程序,轮讯程序分别是访问了三个子弹,三个子弹的四万零一的计算机地址,设备地址分别为一二、三。视频的最后我会把程序截给大家, 烦死了啊!大家看,现在块每个都轮着接通,代表着轮巡工。下面我们用创口条工具监控一下程序。第三步,使用创口条工具打开我们的创口条工具,选择我们的 usb 生成的创口,点击打开创口,这就是我 plc 给我创口条工具发过来的报文证,证明轮巡没问题。 nice。

兄弟们,你是不是觉得 modbus rteu 上位机特别难?今天手把手教你掌握,保证你看完就会。我们只需要准备这三样东西,都是免费且容易获取的。前两个在讲 modbus, tcp 已经讲了,这里主要讲 modsim 三十二和 vspd 软件来模拟一个真实的设备和虚拟串口, 按照图片配置,即使你手上没有任何硬件,也能跟着我一起做。第一步,新建一个 windows 充体应用项目,项目创建好后,我们来搭个简单的界面,前边已经讲过怎么拖拽页面, 通过 newget 包管理器一键安装,非常方便。前边也讲过怎么安装。接下来就是编辑代码,首先是串口出示化,把这段代码复制过去,它会帮我们配置好串口参数并打开串口。然后是读取数据的函数, 核心就是调用 weholding registers 这个方法,指定好存占地址、寄存器地址和要读取的数量就能拿到数据了。写入数据也同样简单,调用 red single register 方法,把我们想写的值传进去就行。运行项目效果展示, 可以看到程序正确读取到了模拟程序的数值。我猜大家在跟着做的过程中可能会遇到一些问题,这里我列出了几个最常见的,大家可以对照着排查一下。关注我想学什么,打在评论区。

大家好,上一个视频我们有讲到过 plc 与变频器之间的 modbus 通信,那么今天我们再来了解一下另一种比较常用的控制方式,去控制变频器的频率,那个就是模拟量控制, 那么肯定我们需要 plc 这里有一个模拟量,一个输出模块,那这个就是输出模块, 我们接线呢也只需要接两根线,一根接 v o 加,一根接 v o 减,然后 v o 加呢接到变频器侧的 ai, v o 减呢?接到变频器侧的公共端 g n d, 那 么程序部分 这个就是那个模块的配置窗口,前两个是模拟量输入,第二个是模拟量输出,这个呢就是它的一个 i o 印刷地址,那这两个我们其实用不到,我们只需要知道 这个 c h 二这里的一个呃配置的 i o 印刷地址就行。那 a d 是 什么意思呢?就是魔术转换,其实简单理解就是模拟量输入,然后这个 d a 呢是数模转换,就是模拟量输出。 那么这里我是建了一个 f b 块,实际只需要这两行。上面这一部分就是一个电机的正反转的一个逻辑控制。 这里我们可以看到一个设定频率,这一般就是在触摸屏那里的一个地址, 然后呢为什么乘以四百呢?那一般我们变频器的频率就是设置的是上限,就是五十嘛,那么你看到这里他是零到两万,也就是怎么说呢, 就是两万去除以五十吧,得到的就是四百, 就这个意思。然后我们转换好之后,再把它传到这个地址里面,这个地址就是配置 i o 印刷,这个地址我们可以来测试一下。 好,这里我们随便输个名字, 按钮也就随便输了 m 一 m 二地址,随便给个 d 零输出,比如说我们是 y 零反转 y 一, 好,我们下到 p o c 监控一下,我先给到它一个频率,比如说我 d 零,这里写十,可以看到我们变频器这里 他已经改成十了,比如说我数三十啊,他已经改到三十,那么我们再看一下按钮, 对吧?按下的时候至昂的时候电机正转输出, 然后反转好反转输出。那么我们只需要后面再去考虑这两个按钮的一个互锁关系,包括一个输出的一个,呃,前后的一个关系。

两百 smart 技能电表作墨都巴斯通讯,读起数据已经读出来了,这读的啥呀?都电压,功率,还有电流,嗯, 能对上吗?对,这边是他的电压是二百三十三点四,这边也是二百三十三点四,电流呢?零点二零二,嗯,这边也是零点二零二,这是功率零点五零二,这边也是零点五零二,那是怎么做到的呢? 他是做了一个 spa 通讯,在指令里面我们直接调用这个 mode 通讯的一个指令,然后我们用这个指令读出来的话只能是一个整数,嗯,然后我们就做一个数据处理, 让整数转换成负点数,做了一个子程序,然后我们就直接把这个子程序拉出来,我们就可以是现在的这个效果。那这个通讯的指令呢?那是在哪? 通讯的指令在这个库里面,然后我们做的话,我说你写到哪了?第一步这里他的波特率,然后五焦盐, 他做通讯是九针传口是从这里做的,所以是零,然后他的超时时间为一千,现在这是几号站啊?三号写哪了?这里 他是三号站,然后保保持行计算器的四万零一,开始读十三个数据,然后完他的完成位再出发,下一步就是通过比较还有传送还有四八五的指令去写。 好,学无止境,人外有人,天外有天,不足之处,欢迎各位大神在评论区补充。

一分钟教会大家三零 p l c 怎么样写这个 modbus r t u 程序。好,首先我们来看一下写这个 modbus r t u 注意三点,第一点就是串口三次 参数的设置,我们这里设置的是九六八 e o。 好, 第二个注意的是重站账号的一个设置。好啊,我们这里设置的是一号站。好,第三个就是我们主重站要分开,主站和重站要分开, 主站是 h 一, 重站是 h 幺幺。第四个要注意的是是这个读写指令,那么这个读写指令我们看到我们这里有五个参数,第一个参数是重站号啊,第二个参数就是功能码,也就是读写,第三个就是 读写的地址开始,第四个是开始多少个?第啊?第五个地方是读写给谁?好,那么我们来看一下这个程序,首先第一个程序,主站程序 h 啊 m 八四幺幺,接通的时候,首先串口参数设置,这里设置的九六八也有,所以 h c 八七啊, h e c 八七,移动到 d 八四二零,好,第二个设置成主站 h e 移动到 d 八四二幺啊,第三个进行读写啊,我们来看一下 a d 啊, k 一 啊, a d p r w k 一 啊,读写一号写一号站写啊零号地址往后数的三个写给 a m 一 百,往后的三个。好,我们再来看一下重赞程序 m o v h e c 八七,也就串口参数设置。第二个就是设置给重赞设置成重赞 h 幺幺,移动到 d 八四二幺啊,第三个我们要设置一,这个重赞是一号重赞。好,大家学会了吗?

来了,因为四零幺零零这个地址的话,是在变频器那边控制的是状态控制,所以我们对应的本地 p l c 这边的地址就是 v w 一 百,是控制它的启停正反转, 启停正反转 这块有没有不明白呢?这一块 啊,也就说我们啊这个意思嘛?然后比如说 p l c 这边, 其实地址是 v b 一 百,它是用了一个纸针, 用了一个指针,指针的意思就是说它只是给我们指明一个方向,具体的数据地址, 其实它是由这个 modbus 这个 addr 这个地址来决定的。那这个指针方向的话,它是分为什么?下一个是什么呢? v 这个是字节 vw 一 百,再下一个呢? v d 一 百,知道吧?它只是一个指尖,然后指明一个方向,这个方向是这个意思,是这个意思一个方向, 好吧?然后我们现在控制它的话,只需要控制这个 v w 一 百就可以了,那就在这个地方控制它 通信的一个通道量程,也就是我们这个输出的这个值的话,最终是要给到这个频率给定这里要给过去的,比如说 v w 幺零二, 在这个地方,哎,我直接看程序吧, 在这个地方相当于 v w 一 零二,是是什么意思呢?那也就是说我们啊,这个是 p l c 的, 然后另外一个呢? 另外一个是变频器的变频器的, 那我们 p r 的 c 端这个 v w 一 百下面呢? v w 幺零二,这个偶数的是不是按照这个字正的就是偶数来排列的, 是吧?然后我们 p 变频器这边的话,就是四零幺零零,下一个呢?四零幺零幺,那其实它是一一对应的,一一对应的关系, 一一对应的关系相当于这里的话,我们屏这里就相当于是状态控制, 那这里就是频率设定,频率设定 知道吧?这是我们 p、 l、 c 这一端的,我们只需要控制它这个就行了。然后我们给到变频器那一端的话,是通过这个通讯的形式给过去的,所以就涉及到通讯的通道量程,它的量程的话,西门指的都是属于这个 啊,比如说负的幺六三八四到正的幺六三八四这个范围,但是我们现在这里用的是零到五十赫兹,所以 零到五十赫兹就相当于是零到幺六三八四,零到五十赫兹,然后对应的就是零到幺六三八四, 这个能看懂吗?零到幺六三八四,好吧?嗯,然后我们再看一下, 所以当我们输入这个频率范围之后,输入之后到了这边啊,这一个到了这边的话,比如说我们输入二十五赫兹刚好是它的一半,然后这里的话输出也刚好是幺六三八四的一半。 v w 一 百零二,我们不是已经给到这个通过读写指令给过来了吗?这里是连续两个吗? 是不是连续两个相当于是 v w 一 百和 v w 一 百零二给到闭门器那一端的四零幺零零到四零幺零幺,连续两个嘛?一个是状态启停,一个是速度给定 啊,速度给力,好吧?然后这里其实这里的话,我们填写负的五十赫兹也没有错的, 那负的五十点零,那这里就应该填写负的幺六三八四,明白吗?是可以这样停的。嗯, 然后如果我们填了这个负的幺六三八四之后,那相当于是可以通过这个频率设定一个负数来改变它的方向,那就不需要这个什么所谓的反转命令这一块来控制它的反转了, 知道吧?我们这个不,我们把它理解成是命令状态字的形式改变方向的,对吧?正转,反转,停止,然后我们如果要反转的话,假如不用这个反转命令段子 防撞命令通道数值的话,那我们用这个频率设定负也是可以的。稍等一下。喂,哪里哪里? 好吧? 也就是我们通过这个负数设置这个频率,负的频率也是可以改变它的方向的,是可以的,大家可以去尝试一下啊。 然后这里的话就是一个反馈的,因为我们反馈回来相当于是一个整数值, 我们要能够知道通过这个反馈的值,他并不是当前的运行频率是多少,我们直接看他这里就可以了。 你上电的话你可以搞一个粗实化呀,比如说这里你搞一个粗实化就是停止形式嘛,你看一四七一不就是停止吗?上电粗实化的时候是停止,然后我们这里设定的话,这个是不是可以设定成断电保持型? 断电保持型我们设置为负数也可以啊,然后我们设置负数之后,那就直接通过这个正转 给它运行,其实它是反转的,然后需要我们啊,正转的话,那我们这里就设置一个正数的频率值啊,停止的话,那就直接停掉它就行了呗,是不是用这个停掉它就行了吗?能听明白吗? 啊哈哈,能不能听明白? 然后我们这里读取的话,为什么是 v w 一 零六呢?那我们看一下程序, 比如说我们这里,是啊,控制它的,你看这里是写,对吧? r w 是 写零的话,就是读嘛 r 了,那读的话那就在这里了,我们是一个零, 然后四零幺幺零,连续的两个,那读取到的纸放到本地 p l c 这里的 v b 一 百零四, 那这里是用的是其实地址,所以是 v w 幺零四和 v w 幺零六,那实际的运行状态是 v w 幺零四,运行频率是 v w 幺零六, 知道吧?那为什么是这个意思呢?我们就要看这个 modbus, 这个地址是,其实地址是多少?四零幺幺零,我们来看一下指导书 啊,可以可以,好好,那为什么是我们就要看一下这个啊?频率给定这边 啊,在这里运行状态是不是属于这个四零幺幺零,然后运行速度也是频率反馈这一块,它反馈回来是一个字的形式, 然后就是四零幺幺幺,是吧?他这两个其实是连续的,连续的,所以我们在程序里面是可以这样干的,也是可以连续两个,如果他是错开的话,那我们只能是 单独的一个来这里,那应该就是写一个一,然后下一个继续是读,就要再加一个,这个 m s g 指令,再加一个, 知道吧?因为它是连续的,所以我们是可以这样读取,连续多少个都是可以的啊。 好吧,然后我们现在知道这个 v w 幺零六是这个频率反馈的值之后,我们再看一下, 看它是怎么转换的,你看它转换出来的话,同样的地址反过来是一个字的形式,字的形式的话,所以我们用了一个整数型 i int, 这个应该是 i int, i int 就是 属于这个带符号的吧?字的话是不带符号的好吧?所以整数型的话, 那就是它的范围是负的幺六三八四和正的幺六三八四那一样的道理,对应的值的话,那就是 频率值,就是五十点零到负的五十点零,那这个是输出的这个范围输出的范围, 然后到这里它就直接反馈出来了 v w 幺二四它的频率,那这个指令的话,在我们软件安装的时候,其实它呃是没有这个指令,但是我们可以通过添加库指令的方法,在这个地方, 比如说是这一个是可以添加进来的,那我怎么添加?我们在课堂上面也有讲过,比如说这里面都已经有这些东西呢?有了他就这条指令就已经给我们了,知道吧? 上几节课的时候我们就应该知道这个了,如果没有这个库指令的还可以找我找我要,这是西门子这边给过来的。 然后既然能够读取这个状态运行频率,那肯定也可以读取这个运行转速和电流啊,是吧?这一块的话,其实我们着重的就是根据这个变频器给过来的这个 参数地址直接填写就好,然后注意一下到底是读还是写,是几号账, 好吧?然后这条指令我们在那个 p l c 里面的话,直接理解成是是什么呢?哎,这个等一下 直接理解成是模拟量转换指令就好。在薄图里面可以叫做那个缩放指令,一个是标准化 加缩放指令,在这个是薄图里面的,在这个两百 smart 里面的话,相当于用这一个指令就可以达到这个功能了,这个是薄图的, 薄图的那两百 smart 的 话, 那就直接用这个转换指令,我们叫做转换。 嗯,模拟量转换指令就可以了,其实是一个意思的 标准化,那就是统一设为一个标准值吗?一个范围是这个意思,有输入的范围也有输出的范围,那有输入也有输出是吧? 你既然有输入,那肯定就有个范围呀,既然有输出,那一样的有一个输出范围呀,并不是说无限量的,知道吧。所以在薄图里面就他利用这个特性相当于拆分开了,一个是标准化指令,一个是缩放指令, 两百 smart 里面的话就是合并用一个指令呢,到时候我们呃后面学,学到这个幺零零博图的时候就会有个回忆的,这里只是给大家稍微提一下,好吧。嗯, 然后轮询这一块有没有不理解的? 要轮型的话,首先我们要了解一下为什么要走轮型,为什么我们打开直立板 呐,为什么要走轮型?有没有不清楚的? 有没有?也就说我们这个是不是走的是 modbus r t u 啊?它是不是属于这个创口啊?是吧?创口那另外一个是属于什么?放双弓, 什么叫半双公?我不是这个公,哈哈哈,好吧,什么叫半双公?那也就是说有了半双公还有一个群双公。 好吧, 那啊,半双公的话,我我把它理解成是什么呢啊?同一十家 时况不能直行 两个及以上功能,否则通道, 哎,通道堵塞堵塞,所以就是为了满足这一个我们才给他做作为这个轮询的,知道吧? 同一时刻不能,比如说我这里要是给电,是吧?是显, 那我这里又要读,那如果我同时的话,这里我直接一直用 s m 零点零,那就变成了同时读写了,是吧?所以才用了这个轮询啊,给他一个一个来执行这个执行呢?再执行这一个,知道吧? 能明白吗?它半双工,那既然要这样,它这个是 modbus, 这个 mod 康公司呃,规定的,协议规定的,所以它只能走轮询的形式。那还有一个全双工呢? 群双工,也就是说同一时刻,同一时刻可以发送 接收功能, 知道吧?那从这一点来看的话啊,全双工是不是比这个半双工的这个响应要快一点啊? 因为它可以同时嘛,可以同时嘛,比如说我们的那个什么啊,铂铂莱的那个总总性的话,还有仪态网那些的话,它属于这个。呃,群双工,那这样的话它的时价就响应很快, 然后半顺弓的话,它就涉及到一个什么意思呢?比如说我们这里再搞一个,比如这个是主战,然后下面是重战一,重战二,重战三,然后这里的话,我们比如说这里是作为一个主战 啊,那这里作为重战从一,好吧?那这里呢?从二 好,重商,那我们理论上面是可以做两百四十七个,但是两百四十七个的话非常慢的,他是什么意思呢?相当于他就是 啊,首先是主账这边会通过这个,比如说他要发数据给重账商的话,他会一个一个来, 我这个数据是发给你的吗?然后从这这边想,也不是发给我,好,不是发给我,他又直接再问这个,我这数据是发给你,这个从这二的话,懂吗?那从这二想一下,不是我的,好,从这祖宗这边又回来,回来之后再一个一个来问 我,这个数据是发给你的吗?然后从这三这边他会回复,哦,这个是给我的,给我的这个时候 p l c 组装这边它会继续再回来,我是发给他的,那我把这个数据发给他吧。那这样根根据这个一二三一直在轮询访问,不是,是不是就经过啊?延长了, 是不是?我们把它理解这个就是轮询, 好吧?就是轮询访问,轮流访问吧,轮流访问,好吧, 那通过这个例子的话,应该大家就应该可以想到什么叫轮询啊?为什么要轮询啊?如果我 这个你们同时发送读和写那些的话,或者是同一代秘密器需要读和写的话,他都不行,只能执行一个功能, 知道吧?这一个功能你可以,是啊,其他的重帐账号也可以,然后其他的读或者写都可以,反正是只能是一个功能,只能一个功能, 好吧?所以我们就有了这个在程序里面要遵循这个原则性啊,为了不让他这个通通信通道堵塞,那我们就只能用每一次只能是执行一个功能,知道吧?才会演变出来, 演变出来啊,好吧。然后既然需要轮询,我们应该怎么轮询呢? 轮询的话我们有一个方法,比如,比如说这个是这种方法的话,借用就是借用这个 v 零点七, v 零点六啊,这里我们来这样来排一下, 然后我们这条指令相当于是一个左移位指令,左移位指令 r o l, 用这个 r o l, 那 是属于左移位循环指令, 好吧?然后我们上电的时候不是已经起用了这个点亮了 v 零点零吗?对吧?那它每隔零点二秒,零点二秒之后,它是不是就要点亮这个 v 零点一,对不对? 那这里就变成一了,那这里就变为一了,这里就变为一,它是连续 连续这样向左边移位的,知道吧?然后这里再零点二秒, 再是零点二秒,再是零点二秒,再是零点二秒,好,这个就已经移到最后,因为他这个是属于一个属于一个字节吗?对吧?一个字节,因为这条指令他是带循环的, 知道吧?好,你移到最后一位的时候零点七了,但循环的话,再过零点二秒,他又会将这个一又会移到这里来,他又会点亮 v 零点零,知道吧?所以这条指令就刚好启动了这个作用。你看在下一个零点二秒,又一又是执行这个了,他就一直可以这样循环, 然后我们就借用这个循环的这个功能,就直接每隔零点二秒 就使人一个读写指令,并且触发,使人和触发同时用一个位,这里必须要用上升音,知道吧?那这里呢?就二十点一啊,那这里呢?二十点二, 这里二十点三,这样就简单一点,好吧?这个是第一种方法,第一种方法, 然后第二种方法是什么呢?第二种方法的话,我们就直接用这个每一条指令的这个完成位,那相当于我们这条指令就不用了,这条指令也不用了, 就不用了,知道吧?然后我们怎么做,怎么做呢?比如说我们如果用第二种方法的话,那相当于就是 完成位啊,先写一下,第一种是 循环一位执念,是吧?那第二种呢?完成位做人寻, 好吧,那我们现在第一种的话掌握了没有?第一种的话, 哎呀,这个东西, 哎,怎么反而复制不了呢? 做一个,好吧,然后用用这个完成位来,我们应该怎么做呢? 完成位,完成位,我们可以这样做,比如说首先是这里用一个 啊,也没有关系吧? m 零点零,然后这里用一个 s m 零点一,这里就先不要用才,然后用这一个完成位,我们再触发下一个, 知道吧?因为这个 v 零点一, v 零点一,然后再触发下一个, 然后至尾,比如说我们还是用二十点一,反正这个第二这两种方法只能是二选一,好吧?你不能用用两个方法同时用上去,那没多大意义,知道吧?没多大意义的,然后我们继续借用这个 v 已有的地址 v 二十点一,连续一个,是吧?就好了。然后这一个我们完成之后,这里又要搞一个完成位, 那用 v 零点二, 然后用 v 零点二,然后复位。 铺位,哪一个铺位二十点一吧, v 二十点一,同时置位二十点二,是吧? 置位 v 二十点二, 用这种方法,好吧,这个方法的话也是可以用这个完成位,然后来执行。首先这里是一个上电触子化, 然后这里的话相当于就要用最后一个位来再触发它,比如说最后一个位是多少,我们继续用这个 v 零点四,好,那我们这里就要用一个上升沿呢? v 零点四,然后这里做一个下降上升沿,然后这里知道吧?这是最后一个的, 这是最后一个的。 嗯, 最后一位,最后一位完成位,知道吧? 我们看一下这个文档上面有没有这个是什么情况,有吗? 哦,文档上面就是用完成位的形式,对吧?我们练习的时候也可以用那个强制轮询法也是可以的。强制轮询法你就不用那么多什么自位复位值,你就不需要啊。 然后这里的话我也发一下吧,这个大家也可以借鉴一下, 就不用那个什么自卫护卫,再用最后一位再来触发第一个,对吧?就不用这个方法也是行的。 好吧,也是可以的。哈哈,好,这一块有没有疑问?我们再看一下指导书 有没有疑问? 包括你这边也可以问一下四幺幺二零零过来的是吧? 体力课是吧?好,可以的。嗯, 然后这里的话没有疑问的话我们就看一下下面。

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

一分钟教会大家用三零 plc, 用 modbus 通讯协议去控制变频器。好,首先我们用三零 plc 用 modbus 控制这个变频器,要进行 通讯参数的设置好,首先通讯参数的设置,有变频器通讯参数啊,分别设置零三零四啊,分别是 p 零零, p 零幺啊, p 八十八, p 八十九, p 九十二啊,我们这里用的是九六八六,所以设置的是零三零四、零幺九六零零四。好, 那么我们 p l、 c 端的这个参数的设置,也就是 d 八四二零,分别设置 h、 e、 c 八七。好,那么我们第二个就是我们的这个功能码,也就是 modbus 地址的功能码。好,我们便民机的 modbus 地址分别是两千 h 和两千零一 h 啊,两千 h 是 启动方式,两千零一 h 的 画质频率分别设置,比如说实进制的十八写进去是正转运行, 那么这个实进制的五千写进去的时候啊,分别就是五代表的是五十赫兹。第三个是指令的设置,分别就是 a、 d、 p、 b、 r、 h 代表一号站,而 h 六代表的就是写好,写,写给谁写给 modbus 地址,两千 h 开始的往后数的两个,也就是两千 h 和两千零一,把谁写去 d 零和 d 一。 好,那么我们来看一下这个程序。好,这个程序首先第一步通讯参数的设置好,我们 p、 l、 c 设置成主站,也就是把一移动到 d 八四二幺,然后第二个我们就来进行把,先把我们的十八也就往正转移动到第零,然后再把我们的频率五十赫兹移动到第一,然后进行啊读写,把 h 一 h 六、 h 两千。开始的两个分别就是第零和第一,写进去,好,大家学会了吗?