H5U指针使用场景举例,利用H5U指针功能不仅仅能实现H3U的变址功能,还能使编程变得更灵活高效。
一、多对一
1. 16位字数据
需求:有100个连续的D元件D100-D199,根据D0的设定往D1000进行赋值。如D0=0,值D100的值给到D1000,D0=1 ,则D101的值给到D1000
不使用指针的方式实现:有多少个赋值操作就要写多少行判断程序,样例只写8行,有兴趣的可以补全
使用指针的方式实现:4行代码,极大的减少工作量
2. 32位字数据
需求:有100个连续的32位D元件数据D200-D399,根据D0的设定往(D1002,D1003)进行赋值。如D0=0,将(D200,201)的值给到(D1002,D2003),D0=1 ,则(D202,202)的值给到(D1002,D1003)
不使用指针的方式实现:有多少个赋值操作就要写多少行判断程序,样例只写8行,有兴趣的可以补全
使用指针的方式实现:6行代码,极大的减少工作量 注意32位数据指针偏移要+2才能指向下一个地址
3. 位元件
需求:有100个连续位元件M元件M100-M199,根据D0的设定往M1000进行赋值。如D0=0,将M100的状态给到M1000,D0=1 ,则将M1的状态给到M1000
不使用指针的方式实现:有多少个赋值操作就要写多少行判断程序,样例只写8行,有兴趣的可以补全
使用指针的方式实现:4行代码,极大的减少工作量
二、一对多
1.16位字数据
需求:把D1004的值,根据D0的设定,往100个连续的D元件D400-D499进行赋值。,如D0=0,将D1004的值给到D400;D0=1 ,则D1000的值给到D401
不使用指针的方式实现:有多少个赋值操作就要写多少行判断程序,样例只写8行,有兴趣的可以补全
使用指针的方式实现:4行代码,极大的减少工作量
2. 32位字数据
需求:把(D1006,D1007)的值,根据D0的设定,往100个连续的32位D元件D500-D699进行赋值。如D0=0,值(D1006,D1007)的值给到(D500,D501);D0=1 ,则(D1006,D1007)的值给到(D502,D503)
不使用指针的方式实现:有多少个赋值操作就要写多少行判断程序,样例只写8行,有兴趣的可以补全
使用指针的方式实现:6行代码,极大的减少工作量 注意32位数据指针偏移要+2才能指向下一个地址
3. 位元件
需求:把M1002的状态,根据D0的设定,往100个连续的M元件M200-M299进行赋值。如D0=0,M1002的值给到M200;D0=1 ,则M1002的值给到M201
不使用指针的方式实现:有多少个赋值操作就要写多少行判断程序,样例只写8行,有兴趣的可以补全
使用指针的方式实现:4行代码,极大的减少工作量
三、多对多
1、16位字数据
需求:有100个连续的D元件D2000-D2099,根据D0的设定选择其中的一个,往另外100个连续的D元件D2100-D2199,赋值,;另外一个D元件由D1设定,比如D0=5,D1=7时,则将D2005的值赋值给D2007
不用指针的方式实现:要写100X100行判断程序,样例只写8行,有兴趣的可以补全
使用指针的方式实现:7行代码即可实现,极大的减少工作量
2、32位字数据
需求:有100个连续的32位D元件D2200-D2399,根据D0的设定选择其中的一个,往另外100个连续的D元件D2400-D2499,赋值;另外一个D元件由D1设定,比如D0=5,D1=7时,则将(D2010,2011)的值赋值给(D2214,D2215)
不用指针的方式实现:要写100X100行判断程序,样例只写8行,有兴趣的可以补全
使用指针的方式实现:11行代码即可实现,极大的减少工作量
3.位元件
需求:有100个连续的M元件M300-M399,根据D0的设定选择其中的一个,往另外100个连续的M元件M400-M499,赋值;另外一个M元件由D1设定,比如D0=5,D1=7时,则将M305的值赋值给M407
不使用指针的方式实现:要写100行判断程序,样例只写8行,有兴趣的可以补全
使用指针的方式实现:7行代码,极大的减少工作量