仪器社区

profibus 通信地址和功能码?

画里的刀 2012-01-03
Modbus有 4个区对应的8条重要的功能码FC,4条读,2条写单个位或寄存器,2条写多个位或者多个寄存器。 而且Z重要的是,modbus 有标准的寄存器而且modbus在协议里面对这些寄存器做了规定,那些地址表示输入位,那些地址表示输出线圈,那些地址表示寄存器 那... Modbus有 4个区对应的8条重要的功能码FC,4条读,2条写单个位或寄存器,2条写多个位或者多个寄存器。 而且Z重要的是,modbus 有标准的寄存器而且modbus在协议里面对这些寄存器做了规定,那些地址表示输入位,那些地址表示输出线圈,那些地址表示寄存器 那么要操作从站寄存器,我在程序里面只要制定从站站号,功能码(写还是读),寄存器启始地址,读取或者写入寄存器的数量,那么从站就会返回我要的数值。 例如功能码:03H 主站询问报文格式: 功能:读从站保持寄存器4XXXX值。 读11H号从站保持寄存器值,起始地址=006BH=107,寄存器数=0003; 因此,本询问报文功能是:读17(11H)号从站3个保持寄存器40107—40109的值; 主站询问报文意义非常明了。 我的问题: 1)profibus 协议里面怎么没有规定通信地址呢?而不同控制器,通过profibus通信的时候,地址怎么统一?也就是没有一个像modbus一样的中介地址?那么开发profibus设备的时候,数据地址存放在哪里?而西门子使用profibus从站的时候,使用的是地址映射的方法?这个地址映射是怎么来的? 2)profibus里面好像没有功能码?那么我主站要读写从站的寄存器里的数值,怎么操作?是用读还是写指令?读取位,写入位还是读取字寄存器??这个怎么操作,编程的时候,怎么明确? 西门子plc中,操作倒是简单,可是我不明白其中的道理,数据通信地址映射关系是怎么来的,读写指令怎么通知从站的?我查阅了好多profibus的规范,也没看到这方面的介绍? 希望各位高手各抒己见,多多指教,谢谢啦,呵呵
评论
全部评论
xiao1567972185
你本来就是高手,
PQW表示写入外部设备
PIW表示读取外部设备
11 0 2012-01-04 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论