CP341做Modbus从站时 遇到一些问题,望大侠些能答上一两条!谢谢!

已锁定

红海湾

  • 帖子

    355
  • 精华

    0
  • 被关注

    4

论坛等级:侠士

注册时间:2009-11-24

普通 普通 如何晋级?

CP341做Modbus从站时 遇到一些问题,望大侠些能答上一两条!谢谢!

708

0

2013-06-17 21:48:42

CP341 422/485 做MODBUS SALVE 首先软件、驱动、硬件到位!组态从站时功能区有:

FC01 05 15 : 读取、强制输出位状态M/Q/T/C 可读可写
FC02读取输入数据位状态 M/ I 只读
FC03 06 16组态输出寄存器数据区 对应DB块 可读可写
FC04组态输入寄存器数据区 对应DB块 只读
设定写参数的限制值

问题1.:如果我想只用功能区FC03 06 16 来发送和接收数据时, 其他功能区地址就全默认0就可以了? 看到论坛上有哥们儿说 (在plc中实现modbus协议还是比较复杂的,尤其是要实现这么多的功能码(要知道不同的功能码有不同的格式),我的建议是只实现03和16,其他的在plc程序中做一小点儿处理就ok了)其他的功能区不用还的处理?

问题2: 功能区如果我想只用FC03 06 16对应的MODBUS地址是不是40001开始的?另外功能区FC03 06 16只需要设定相应DB块,读取长度是不是由主站决定的,格式为Word?

问题3:设定写参数的限制值 与哪些功能区有关? 作用是不是限制数据长度?看了资料现在连似懂非懂都谈不上,可悲啊!!!

问题4 : 资料上说CP341做MOUDBUS从站时,将FB7,FB8添加到程序Blocks中,方法为双击OB1,打开OB1编程画面,从库Libraries->CP PtP->CP341中调用发送程序块FB8和接收程序块FB7,然后再从OB1中删除。因为MODBUS从站通讯要用到这两个功能块。 如果我程序事先就占用了功能块FB8/FB7这两个块, 那么在Libraries->CP PtP->调用时,就得重命名为其他FB号 ,这样再调用FB80时对通讯有不有影响啊?

问题5 :CP341做MOUDBUS从站时,调用FB80后,FB80接口参数那些需要开机初始化,如下图,在OB100中需要置位的是不是CP_START?谢谢!!!
LADDR 硬件组态中的起始逻辑地址,本例中为256
START_TIME 超时初始化定时器,本例中为T1
START_TIME 超时初始化时间值,本例中为1s
OB_MASK 外设访问错误屏蔽位,本例中为M100.0
CP_START FB初始化始能位,本例中为M100.1
CP_START_FM CP_START初始化的上升沿位,本例中为M100.2
CP_START_NDR 从CP写操作位,本例中为M100.3
CP_START_OK 初始化成功标志,本例中为M100.4
CP_START_ERROR 初始化失败标志,本例中为M100.5
ERROR_NR 错误号,本例中为MW102
ERROR_INFO 错误信息,本例中为MW104,可以查看Modbus Slave 手册第10章
CP341做Modbus从站时 遇到一些问题,望大侠些能答上一两条!谢谢! 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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