1. CP1H是否可以使用带参数调用的功能块
在编译后出现 错误: 这个单元版本的PLC不支持STRING类型或输入输出变量。请在程序中检查PLC的单元版本。
将输入输出变量改为内部变量后,错误消失。如果我需要输入输出变量怎么办? 因为是重复调用,并且程序中有微分指令等情况,没有输入输出变量是否能工作正常? 我很担心内部变量和西门子的FC的TEMP变量一样,调用后就清除。
2. +L +CL +BCL 等有什么区别?比如+CL 为带进位有符号双二进制加。这里的二进制是不是要求操作数必须为DWORD类型,还是DINT类型数据也可以的? 带进位是什么意思?是不是6+8如果不带进位的话会变成4?
谢谢!
1. 这个单元版本的PLC不支持STRING类型或输入输出变量?
答: 这个PLC 型号不支持 “输入输出变量” , 请删除你 的FB 块中的 “输入/输出变量”变量即可;
如果想用到 “输入/输出变量”,你可以新建一个 IN_PUT型变量bReg,OUTPUT型bReg2变量,然后再程序中
写这样一句代码: bReg2:=bReg; 这样 在调用 FB 块实例的时候,
给 bReg,bReg2 填写同一个寄存器地址即可实现,“输入/输出变量” 同样的功能。
2.我很担心内部变量和西门子的FC的TEMP变量一样,调用后就清除?
答: CP1H 的FB块 类似于 西门子的 FB 块,内部变量是静态的 不是临时变量,也不会调用后清除。
FB 块的每一个调用实例系统会自动分配一些 DM 存储区,还可以手动给他们分配DM区绝对地址;
3. +L +CL +BCL 等有什么区别?
答: +L 是不带进位加法, WORD 类型;只要结果 值在 0~65535 范围内,结果和 +CL 结果一样;
+CL 是带进位加法, WORD 类型;当结果值大于65536 ,进位后 赋值给连续地址的下一个地址的地位。
具体看指令帮助。
引用 newchp 的回复内容:&0,代表10进制数
楼主,你要用OMRON PLC 就要熟悉他的寻址 方式, MOV 0 D520 ,这个指令的意思是 0 通道(WORD类型)的值 传送到 D520 , 这里的0 是地址,不是常数,&0或#0 是常数,这个寻址方式,尤其是处理模拟量通道的时候要特别 注意;
CIO 公共I/O 区, 这个公共I/O区,地址从 0 开始, 0 默认指的是WORD 类型,0.0~0.11 指的是 外部X0.0~X0.11的输入通道 印象区; 100.0~100.11 是Y0.0 ,Y0.11 数字量输出通道 线圈地址。