S7-200和200SMART的子程序较多16个输入、输出参数。使用间接寻址可以显著减少输入、输出参数的个数,不再受上述的限制。 下面举一个简单的例子。 子程序“异或运算”对V存储器中连续的若干个字节作异或运算,下面给出了子程序的局部变量和STL程序。 子程序中的BTI指令用于将数据类型为字节的输入参数“字节数B”转换为数据类型为整数的临时变量“字节数I”,用来做FOR指令的当前循环计数器。 输入参数“地址指针”是需要异或运算的数据区的起始地址。子程序中的“*#地址指针”是输入参数“地址指针”*的地址中变量的值。在循环程序执行的过程中,该指针中的地址值是变化的。 下图是主程序中调用“异或运算”子程序的程序。调用时*的“地址指针”的值&VB10是源地址的初始值,即数据字节从VB10开始存放;需要异或运算的数据的字节数为4,异或运算的结果存放在VB14中。 实际上该子程序的输入、输出参数还可以进一步地简化:将保存运算结果的字节放在地址指针所指的地址区的**个字节,需要异或运算的字节数放在*2个字节,需要运算的数据从*3个字节存放。这样就只需要一个输入参数了,当然程序要做相应的改动。但是程序的输入、输出接口没有**个方案直观。 |
打开软件,在较上面的菜单栏中找到“Tools”工具,点击一下,会出现一个对话框, 选择较下面的一项“Options”,弹出一个对话框,然后选择左上方“General”, 看对话框右边,是不是依次是“German English French Spanish Italian Chinese”选择最后一个“Chinese”,然后点“OK”即可。 一下附图: |