回复:PLC和带485的传感器如何通讯

晚风拂晓

  • 帖子

    68
  • 精华

    0
  • 被关注

    3

论坛等级:游民

注册时间:2008-05-21

普通 普通 如何晋级?

发布于 2008-06-03 13:53:46

0楼

quote:以下是引用dcount107在2008-06-01 09:52:29的发言:
你有没有订CP341 ModubsMaster硬件狗啊,如果有的话就不用计算校验码这么麻烦了。安装CP341_Modubus_Master软件包,Step7中有例子zXX21_04_PtP_Com_MODMA,按例子来做就可以。如果没有狗,则麻烦一些,需要多发送两个字节及CRC校验码,不过好在事先已经知道了CRC校验码。
1.一般来说一个循环周期只能调用一次FB7和FB8,因此通过轮询方式,依次改变发送区的内容,然后根据接收字节进行校验和计算。假设发送数据块为DB100,定义了8个字节的长度SND_BYTE ARRAY[1..8] BYTE。FB参数如下:
CALL "P_SND_RK" , "IDB_P_SND_RK"
SF :='S'
LADDR :=288
DB_NO :=100
DBB_NO :=0
LEN :=8

根据对方的通讯帧,SND_BYTE[2]...SND_BYTE[6]均为固定值,可直接赋值,而SND_BYTE[1]为地址、SND_BYTE[7]、SND_BYTE[8]为地址对应的校验码
根据循环周期依次改变SND_BYTE[1]、SND_BYTE[7]、SND_BYTE[8]内容,即可实现轮询发送。

2.对,需要自己根据返回的数据进行校验和数据提取
3.没有应用这么长距离的,不知道应该用什么样的中继器。在设备终端加电阻。

谢谢,如果有硬件狗,就只需要改变SND_BYTE[1],不需要管校验码,在组态时设下校验就行了是吧?校验一般是设奇校验还是偶校验,还是无校验?
多学,多问,多交流——多个朋友!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。