在博途软件中,(CPU314C-2DP)输入储存器地址 MD290 提示输入的地址不在有效的范围内。
想问的是:M区不是有很多的空间可以用吗?怎么这么快地址就超出?一个工程有很多变量。难道只能在数据块中定于变量?而数据块寻址用起上来手工输入要填些较长(如果不用拖移的方法)
问题补充:
要定义大量变量只能在数据块中吗?或者说既然M区存储器这么少,那要用到大量变量,难道这能在数据块中定义?那PLC变量声明栏作用的大打折扣。正确的方法是怎么样?
图片说明:
最佳答案
你可以在全局db块里建立变量,这样还方便管理调用,一个用途建一个。314的m点只有256,315就有2048字节了.
博途里面用udt用在db块里非常方便,改了udt,再对所有程序编译一次,就把所有变更的地方改过来了。
提问者对于答案的评价:
初用300,之前用的都是200。总觉得在程序中,输入DB的变量要麻烦些的,每次还要切换回去,看对应的变量的偏移量。(如果不用拖动方式)。
总结下就是说:300的M区的用途跟200有不同,要定义大量的变量的话,就只能在全局数据块中,根据用途定义分块 定义。是这样吗?
例外除了udt用在db块里,还有没有更简便高效的方式?
最佳答案作者回复:
直接用符号寻址啊,记偏移量多累。。。用博途好处是,db中的变量移动了位置,程序会自动将变量的偏移量更改。而step7平台的符号寻址实际还是绝对寻址,变量变了位置,就要程序就要重新改
现在都在往符号寻址转。博途用起来感觉明显有效率多了。step7毕竟比较老了,用udt也没博途方便。我觉得西门子有个需要改进的地方,数组里面的个体不能注释,我觉得这点ab就很方便,做报警什么的,直接拉个数组,再在程序里写个注释就好了
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc173687.html