wangk0
人都有点过去~
级别: 工控侠客
精华主题: 0
发帖数量: 82 个
工控威望: 2155 点
下载积分: 3866 分
在线时间: 64(小时)
注册时间: 2012-05-17
最后登录: 2024-04-11
查看wangk0的 主题 / 回贴
楼主  发表于: 2012-08-20 15:47
网上很多讲485的,搜出来一看,都一个模子复制出来的。不过硬件部分就那么接,这次详解PLC程序。

首先准备两本书,FX1S1N2N2NC编程手册(基本指令,步进梯形指令,应用指令说明书).pdf 和 FR-A500.pdf 。这两本可以去三菱电机官网下载最新的。前一本书重点看273页往后,后一本书看4.2.41节。看不下去书的,可以去看
http://www.ymmfa.com/read-gktid-144031.html 这个贴子里的三菱通讯基础的视频,快进着看还是很不错的。

PLC编程用到通讯部分的指令如下图:


重点为RS, ASCI, HEX, CCD

能过查变频器手册,定义通讯的格式:我定义的为数据长度7位,偶校验,停止位1位,无起始符结束符,9600BPS速率。
PLC通讯格式的设定跟据变频器的设置,再写入到标志位里去,如下图:


然后通过PLC说明书知道,使用BD板,D8120的11,10,9这三位必须为110。这下一来,我上面的参数对应到D8120里去为H0C86。

到这一步,就相当于快递公司有了,地址写了,就差包裹了。

下面就是做包裹

通过RS定义包裹的大小

然后从变频器的手册上,找到包裹的具体形式:




然后填写相关部分的数据:
这个地方的数据形式还得看变频器,毕竟PLC上就是定义一长串的数据,把这串数据写满就行了。
上面一张图里面其实就是具体的数据形式了,不过,三菱规定通讯时使用的是ASCII码,那像ENQ的ASCII码是多少就得查表了。


指令代码也要查表


截图了部分,都在上面我给的那一节书中。

下面以让变频器正反转为例编段程序:
首先写入通讯格式,将下面跟随的程序置为8位处理模式。8位处理模式是因为三菱厂商制定的通讯方式是8位的ASCII码。ASCII码是用8位的二进制来表示一位十六进制的数,如 H30表示十六进制的0,H46表示十六进制的F。我个人理解ASCI转换其实就是把四位的形式转成8位的形式,两个同样表示F,十六进制里是1111; ASCII码为01000110。


上面是初始化程序,M8161为8位/16位的切换开关,ON时为8位。ZRST是清除数据区

下面开始定义缓冲区


D200开始的十个寄存器的发送缓冲区,D600开始的十个寄存器的接收缓冲区。这个就像快递的中转站,要发的包裹得统一到一个地方,等通知发货的时候,一起发掉。接收同理。
填写数据形式,做包裹
其中用到的指令代码截过来


我用X0正转,X2停止,X4  反转。


M100M102M104可以不用,我连着触摸屏做实验的,单独用PLC时不用。


D206,D207里面写入的数据根据指令说明里的说明来写,00为停,02为正转,04为反转。对就的按钮写对应的数据。因为D206在这三个指令里都是写0,所以放到公共赋值里去,偷点懒。


CCD校验完D220放的ASCI码的和,D221里放的是列偶校验,这里只需要一个D220的值。
再把D220里的值进行ASCI转换。


M8122变1后,D200到D209的数据就开始发送,发送完了后自动复位。
一个简单的通讯程序也就写完了。    


  
[ 此帖被wangk0在2012-09-04 16:53重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(王天明) 好贴好贴!
  • 下载积分:+1(jhzong) 真诚感谢!
  • 下载积分:+5(王志勇爱媳妇) 辛苦了!
  • 下载积分:+2(a7950288) 热心助人!
  • 下载积分:+3(七十年代) 好贴!
  • 下载积分:+5(550374389) 好贴!
    chenlf
    级别: 家园常客
    精华主题: 0
    发帖数量: 245 个
    工控威望: 527 点
    下载积分: 573 分
    在线时间: 1136(小时)
    注册时间: 2007-07-04
    最后登录: 2024-11-19
    查看chenlf的 主题 / 回贴
    1楼  发表于: 2013-07-17 12:42
    謝謝,留著備用。