1)指令功能强大,完整。例如浮点数指令包含了所有的基本函数,用它们能生成所有的函数。而有的小型plc缺少一些基本函数,例如S7-200没有反三角函数。 |
在一些C语言资料上看到,“冒泡法”排序一般是从*后一个数据开始,向地址小的方向相邻两个数据比较,并按照从小到大或者从大到小排序的一种算法。在数据比较、移动的过程中,数据的运动,看起来好像水中的气泡向上运动。故而称之为“冒泡法”排序。 “冒泡法”排序,在知道数据的起始地址、数据个数、数据类型后,需要算出*后一个数据的地址,并从*后的一个地址开始运算排序。我在想,为什么不能从数据的起始地址开始排序呢,如果采用这种“下沉法”排序,还能省去计算数据的结束地址,程序应该会更简洁。于是自己就试着写了一下“下沉法”排序的plc程序代码,并测试通过。 排序环境:224CPU,从VB1000开始连续20个整数,从小到大排序。“下沉法”排序算法参考代码如下: //******************给外循环体、内循环体的循环次数赋初值*********************** LD SM0.0 //开始执行从小到大的排序程序 MOVW 19, LW2 //给外循环次数(数据个数-1)赋初值 MOVW 19, LW6 //给内循环次数(数据个数-1)赋初值 //*******************建立外循环体并定义排序的其实地址***************************** FOR LW0, +1, LW2 //FOR外循环体循执行LW2次 MOVD &VB1000, AC1 //将V区的起始地址赋给AC1,定义排序的起始地址 //**************建立内循环体并开始进行相邻的两个数据比较、移动**************** FOR LW4, +1, LW6 //FOR内循环体循执行LW6次 MOVD AC1, AC2 //把当前AC1里面的地址存储到AC2里面 +D +2, AC2 //AC2当前地址+2,存入AC2 LDW 相关分类 |
推荐产品 信息搜索
浔之漫智控技术(上海)有限公司
6es7221新闻
|