?
?
当前位置:
台达人机宏通讯
回复 | 人气 | 打印
NewPLC_71 个人主页 给TA发消息 加TA为好友 发表于:2014-07-17 00:24:55 楼主

 用台达B10S411与一台SS2  PLC和其它控制器同时通讯,SS2用com2口没有问题;控制器用com1口,使用画面cycle宏,通讯口初始化可以通过,但是发送数据putchars()和getchars()两个指令都不能正常工作。几个问题咨询一下高手:

A?#21644;?#26679;的数据串用串口调试工具直接发给控制器,控制器可以接收,并返回数据,说明控制器通讯正常,通讯指令字符串也应该没有问题吧;

B:用串口调试接到触摸屏com1口,收不到触摸屏的任?#38382;?#25454;,是什么原因?

C:宏通讯方面的例程哪位可以给几个学习一下?


拜托高手指点一下,谢了!!!


分享到: 关注收藏 邀请回答 回复 举报
WUFANG2004 个人主页 给TA发消息 加TA为好友 发表于:2014-07-17 09:02:38 1楼
 

有没有台达的专家帮忙给看下啊,谢谢!


  回复 引用 举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-07-17 14:29:06 2楼
 

1、首先除非你将触摸屏通讯口定义成MODBUS SLAVE,否则屏是作为主站,串口调试工具必须设成从站模式,然后由屏通过宏指令发送代码,再由调试工具接收字符;

2、使用宏指令做COM1口自由通讯时,首先在选项——设置通讯?#38382;?#20013;,COM1口下不能建立任何连线,然后COM1口的初始化一般会放到Initial宏中,只要上电初始化做一次就够了;

3、PUTCHARS和GETCHARS等指令在执行的过程中要考虑时序的问题,确保每条字符串收发指令确实执行完成,一般粗略一点的就在两条指令之间加上DELAY指令确保时序错开;

4、最后就是确定一下接线。

  回复 引用 举报
WUFANG2004 个人主页 给TA发消息 加TA为好友 发表于:2014-07-17 16:01:12 3楼
 

首先感谢楼上的指点!

1、触摸屏肯定是master了,但是串口监视好像不能设置主从站的,它自己会接收;

2、COM1下没有设置任何连接,初始化也放在initial宏中试过,也没有效果;

3、delay指令也用了,从串口调试发送指令是瞬间就能得到返回数据,但是putchar指令发出半天,getchars返回值始终为0,也就是没有接收到发回数据。

4、连线用应该不会有什么问题,用同一条数据线,串口调试运行都正常。


不知道还有什么地方可以查?#20197;?#22240;的。请大家帮忙指点一下

  回复 引用 举报
WUFANG2004 个人主页 给TA发消息 加TA为好友 发表于:2014-07-17 16:05:08 4楼
 

还有个问题就是用串口调试软件发送数据格?#25509;?#35813;跟触摸屏发送的格式一样吧。比如:串口发送:55 AA 01 00 03 00 00 00 01 03,串口软件可以接收到控制器返回数据,如果PLC或触摸屏发送的也是这种数据,为什么会收不到控制器返回数据呢?

  回复 引用 举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-07-17 16:12:23 5楼
 

能不能把两段宏指令贴上来看一下?

  回复 引用 举报
WUFANG2004 个人主页 给TA发消息 加TA为好友 发表于:2014-07-18 08:38:16 6楼
 

这是initial宏:

$100 = 55H

$101 = AAH

$102 = 1H

$103 = 0H

$104 = 3H

$105 = 0H

$106 = 0H

$107 = 1H

$108 = 3H

$10 = INITCOM(0, 0, 1, 0, 0, 6, 0)

这个是画面cycle宏:

SELECTCOM(0)

$12 = PUTCHARS($100, 9, 500)

delay 500

$14 = GETCHARS($200, 40, 500)

delay 10000

在画面设置监控$10 $12 $14,$10返回1,说明初始化成功,$12在1和0之间周期变化,说明也是可以执行的,但是$14就不会返回1,一直是0。问题出在哪里百思不得其解啊。



  回复 引用 举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-07-18 09:51:21 7楼
 

putchar和getchar的资料长度指的是BYTE数,所以你第一条putchar指令实?#25163;?#36865;出了4个半WORD,把$100-$108的数据规整合并下再试吧

  回复 引用 举报
WUFANG2004 个人主页 给TA发消息 加TA为好友 发表于:2014-07-18 13:30:21 8楼
 

我只要发送$100到$108共9个BYTE,也就是4个半word,还需要怎么整合?谢谢

  回复 引用 举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-07-18 14:08:05 9楼
 

$100是一个WORD,含高低两个BYTE,$100=55H实际上是指低字节55H,高字节00H,按照你的PUTCHARS指令,最后发出的数据内容是55 00 AA 00 01 00 00 00 03。应该在初始赋值时这样写:$100=AA55H ,$101=0001H......依次类推

  回复 引用 举报
WUFANG2004 个人主页 给TA发消息 加TA为好友 发表于:2014-09-06 11:35:54 10楼
 

回复内容:

对: 公孙小天  $100是一个WORD,含高低两个BYTE,$100=... 内容的回复!


 谢谢!这个搞清楚了。

另外一个PLC的问题请教一下,就是如果用台达的RS指令读取控制器的话是否可行?数据是否也要像人机一样处理吗?头码、尾码是否一定要有呢?RS指令的头码长度有没有要求,比如我前面的55AA作为头码的话要占用两个BYTE,RS指令里面的数据长度是否包含头码,看指令手册里面接收长度好像是包含头尾码的。谢谢!

  回复 引用 举报
WUFANG2004 个人主页 给TA发消息 加TA为好友 发表于:2014-09-09 08:45:41 11楼
 



帮忙看下程序有没有问题。谢谢!

  回复 引用 举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-09-09 12:37:23 12楼
 

回复内容:

对: WUFANG2004 帮忙看下程序有没有问题。谢谢! 内容的回复!


RS指令的处理原则和触摸屏是一样的,所谓自由协议通讯就是指指令不去管你的协议,只负责将你要发的代码发出去或收上来,必须由你自己事先规划好要发的内容以及要发的长度,所以头码也是包含在长度里面的。

  回复 引用 举报
WUFANG2004 个人主页 给TA发消息 加TA为好友 发表于:2014-09-09 13:58:44 13楼
 

发送长度也是按BYTE计算的吗?跟RTU的8位、16位模式没有关系是吗?


  回复 引用 举报
公孙小天 个人主页 给TA发消息 加TA为好友 发表于:2014-09-09 14:08:54 14楼
 

长度是按WORD计算的,8位是指每个WORD只取下8位,16位则是高低8位都用到

  回复 引用 举报
liujian5118-PLC?#38469;?#20891;团 个人主页 给TA发消息 加TA为好友 发表于:2014-09-09 14:34:35 15楼
 

SELECTCOM(0)
$8 = INITCOM(0, 0, 1, 0, 0, 6, 0)
FILLASC($3000,"?D")
$3001 = 0AH
$10 = PUTCHARS($3000,3,200)
$11 = GETCHARS($1500,3,200)

RTU的屏好像不好做,ASCII的可以做的

  回复 引用 举报
WUFANG2004 个人主页 给TA发消息 加TA为好友 发表于:2014-09-09 22:38:08 16楼
 

明白了,谢谢两位指点!


  回复 引用 举报
guruchina----骑士军团 个人主页 给TA发消息 加TA为好友 发表于:2016-03-31 13:10:01 17楼
 

你好,问下最后一个BYTE要怎么处理?

回复内容:

对: 公孙小天 $100是一个WORD,含高低两个BYTE,$100=... 内容的回复!

 

  回复 引用 举报
qinjian1991 个人主页 给TA发消息 加TA为好友 发表于:2017-02-28 17:50:27 18楼
 

22233333333333333333333

  回复 引用 举报
liyalong61 个人主页 给TA发消息 加TA为好友 发表于:2018-08-31 18:12:29 19楼
 

回复内容:

对:公孙小天 能不能把两段宏指令贴上来看一下?     内容的回复:

$14 = GETCHARS($200, 40, 500)

请教下括号内的40是怎么算出来的百思不得其解呀!感谢

  回复 引用 举报
liyalong61 个人主页 给TA发消息 加TA为好友 发表于:2018-08-31 18:14:52 20楼
 

回复内容:

对:公孙小天 putchar和getchar的资料长度指的是BYTE数,所以你第一条putchar指令实?#25163;?#36865;出了4个半WORD,把$100-$108的数据规整合并下再试吧     内容的回复:

$14 = GETCHARS($200, 40, 500)

请问括号内的40是怎么算出来的?麻烦大神指点

  回复 引用 举报
卡文迪许_ 个人主页 给TA发消息 加TA为好友 发表于:2019-04-23 16:22:16 21楼
 

谢谢老师分享,学习了

  回复 引用 举报
?
周点击排行
周回复排行
最新求助
?
? 2019青青青手机在线观看