恭喜,你发布的帖子
发布于 2022-11-05 18:31:05
13楼
就当做真的好像是有一个单独的0号从站设备实际存在一样,去写操作。
广播这个概念就等效理解为“对0号站的写操作,而0号站是合法单独存在的一个设备“。
这和对其它站号的单个从站的写操作是一样的结构。
设备对象中的Modbus地址设定就是0。它的品牌任务通信表中都是写任务设定。
或者可以说:根本不存在广播这件事,0号站是个单独的实际存在站点。这个站点在哪里呢?它就是连接到该端口的所有从站的集合。从站集合就是一个0号从站。集合是个单独的设备。
说到底,通信的本质是协议。而存在于协议中的设备模型,首先都是虚拟的数据结构的定义。只不过碰巧,它们有时候可以和现实设备对应上。
也就是说:从站,首先是存在于协议中的一个抽象概念。只不过,我们总是在观念上习惯把他们直接不假思索理解为物理实物。
对于驱动来讲,在总线结构通讯中,对一个驱动从站顺利发送/应答完成,可能需要30 ms(115200 ),若对接近10台的轮询,可能就需要300ms(实际会更长)。这对于产线来说,已经是有“前后不同步”的问题了。(更别提9600了)
其实,在驱动从站侧,是有不同通讯响应机制的。
1、配置报文。一旦配置好报文,(数字化)从站将时刻更新主站要读写的数据。随时做出响应。
2、非配置的读写;
从站将在通讯处理段分次处理。对于RAM写快/读慢。而要写入ROM是最慢的(正确写入后,才给予通讯完成响应。)
3、立即执行,无响应。(总线形式的都有这种命令。)
第三种,就是广播。MB是地址0、USS是地址31。当写入所有驱动统一(转速)设定值/启动命令时,所有驱动同时动作、同时变化,且不返回数据。
实际运行中,驱动侧由于设定值有比例系数,所以,仍是按不同比例在运行。
现在的问题是,一般都不提供这种广播程序快。需要自己写。
所以好奇。
请填写推广理由:
分享
只看
楼主