签到有奖
消息提醒
运维工程师专区
官方商城
点击复制链接
关注该帖后,有多人参加探讨会对您通知与提示!
帖子
精华
被关注
论坛等级:至圣
注册时间:2004-03-06
钻石 如何晋级?
发布于 2018-09-28 18:02:28
8楼
这是我简单测试的程序,您看看有更好实现的办法吗?
引用6楼详细内容:
我的解决办法是建个数组,二级是结构体,结构体里有各种类型如real int word dint,当使用数组第一个数时判断是什么类型,就把这个类型数据加一,其他不动,数组第二,三个依次类推,这样就可以批量处理了,但是其他不动的数据就是浪费了,我就想问问有比这更好的办法吗?
引用5楼详细内容:
结构化的数据是很好,假设我想把结构化数据不同类型的第一个数延时100ms加一,之后再100ms把第二个数加一,再100ms把第三个数加一,结构化数据有很多大于1000,类型还不一样怎样批量处理?我一直很纠结!
引用4楼详细内容:
结构化的数据,不是挺好么?
什么叫浪费资源?什么意思?
合理组织数据。
引用3楼详细内容:
尽量不使用指针(寄存器操作)的方式。用数据结构、数组等来代替,使程序的可读性更好?
YMING 请问多种类型怎样使用数组操作,比如50个INT,60个real, 100个WORD混乱穿插在一起怎样批量操作,以前使用struct类型再建数组但是这样太浪费资源了,有好办法吗?
引用2楼详细内容:
你是在说 P# 那种指针么?1200的CPU运行机制与从前完全不同。据说它没有这种地址寄存器。只是模拟了一个这种寄存器。所以,不推荐使用操作指针的间接寻址。推荐使用数组索引的方式。
原来的300/400的指针是具有确定的4字长数据结构的。可以准确的表示数据的位置,一直到数据位。
而1200在TIA中,采用的是变量名称(标签)寻址,仅在完全编译后,下载时,才有实际地址。
即便你在编程时,敲入的是 M100.1,它也是自动生成 Tag_1之类的标签,用它来寻址。(优化的DB块也是同样与实际地址无关。M区只是通过变量表寻址。)
而1200所谓的指针Any、Variant等等,在我看来只是数据的引用。
至于对非优化(300/400兼容模式)的指针,只是为兼容引用了原格式,使用它可以指出一个操作的数据区域;但并不能实际操作指针来寻址。
因此,尽量不使用指针(寄存器操作)的方式。用数据结构、数组等来代替,使程序的可读性更好。
我一般使用数组,只与数组[0]打交道。
其他只不过 是 数组[0] 与 数组[n] 交换数据而已。
这种数据结构的数组DB,只是用作 配方参数。
至于相同操作的数据类型,以前写过。使用 Variant 传送,不需要判断数据类型。
请填写推广理由:
AI 小西智伴登场,7×24 小时权威支援,让技术支持告别等待!
助你技有所长,论有所获
首次发帖探讨工控技术话题 立获新人礼包,100中奖哦! (包含周边、书籍、兑奖西币)
共有15100条技术帖
恭喜,你发布的帖子
快扫描右侧二维码晒一晒吧!
再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!
分享
只看 楼主
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!