Codesys中ST语言编程基础知识之1:直接地址定义
操作数是用户程序中的操作符,动作,功能块或者程序操作的对象,可以作为输入、输出、中间保存结果。在codesys中,常见的操作数包含直接地址、常量和变量。与其他高级语言类似,codesys也有常量和变量的概念。所谓变量就是数值不变的数;变量是由用户自行定义的标识符。变量的存储位置可以是用户自行指定的%I区域,%Q区域,%M区域,也可以不指定地址,由系统自行分配。
直接地址
这种类型的固定地址也可以叫做直接变量,直接映射到PLC设备的具体地址上,也就是PLC的输入输出IO点上或者HMI上的地址。地址信息包含了变量在CPU存储大小以及存储位置对应的偏移。
1.直接地址定义语法
语法:%<存储器区前缀><大小前缀><数字>.<数字>
1.存储器前缀
[*]I :输入 Input“传感器”
[*]Q:输出 Output由于O和0很像,于是用Q代替“执行器”
[*]M:存储位置 memory存储器
2.大小前缀
[*]X:Bit,一比特位
[*]B:Byte,一个字节 8个bit位
[*]W:Word,一个字是16bit位,2个字节
[*]D: Double Word 两个字节(双字)32位数据,4个字节
3.偏移地址
[*]%IX7.5输入区域偏移7个字节,第6位(bit5,从0数起)
[*]%QX17 输出区域偏移17字节
[*]%IW215 输入区域偏移215个字
[*]%MD48内存区域偏移48个双字
i_TestVar AT %IW10:WORD;// i_TestVar是字类型变量,映射的地址是输入区域偏移10个字的位置
PLC直接地址存储区域大小
下面这些存储区的大小和PLC厂家的PLC类型有关,不同厂家数据存储大小不同,详情见厂家产品手册。这里我们拿汇川技术的中型PLC来看:汇川技术的AM600,AM610,AM401和AM402编程区域大小如下图所示:
这里需要注意,存储区480KB用户可以自由使用,但是后32K为系统使用的软元件地址,用户不要使用。
AM800高级PLC,存储器大小如下图所示:
页:
[1]