| 作者 | 主题 |
|---|---|
|
芳季 至圣
经验值:72659 发帖数:15623 精华帖:102 |
楼主
主题:背景,背景!多重背景! http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=689429&b_id=3&s_id=1&num=9#anch 究竟怎样做smart才可以实现多重背景。现在是为了更好控制,花了更多时间在通讯上面。 以下是我某个程序关系到的一些数据: 上面的excel表,是这台设备modbus通讯需要使用到的所有地址。四个驱动器除了极限和急停是接线控制之外,所有动作都是通过通讯控制的。字很小看不清。这个不重要。重要的是我反映一下这个数据量。 列中有的贴图前我打上了b B D 的字符。b表示此列是位地址,B为字节地址,D为双字地址。其余的都是符号表里的符号。编程用的符号表就是在这里复制过去的。 图中4大块是4个伺服驱动器。每块里面各项大致相同(也可以做成完全相同)。每一行(除去最后4列) 是一条modbus MSG信息以及调度工作使用到的地址。现在每次做通讯都要手工堆砌这个表,用于方便对地址的分配,管理。 毫无疑问,使用背景这个功能是 简直是易如反掌。 从那个时候开始,我就一直在想,有什么方法可以达成这项任务? 用编程的方法使得子程序可以自由分配V内存的地址,不重叠,不留空。 我总是觉得,应该有办法做到的。现在用smart,感觉越用越觉得比200快了不少。哪怕程序再多干点活,也是有余量的。 |
|
yanxiao 版主 经验值:28976 发帖数:12202 精华帖:47 |
1楼
主题:回复:背景,背景!多重背景!想共用一段程序?比如做成公共的处理子程序?子程序中使用直接地址访问数据,而不是间址? 200上曾经这样做过:定义一块公共区块,进入子程序前,把要处理的数据块复制到公共区,子程序完成后,再把公共区内的数据块移动到原先位置。 |