SIEMENS西门子
全新原装,质量保证,保修一年
*销售及维修西门子各类工控自动化配件;
:S7-200CN、S7-200SMART、S7-300、S7-400、 S7-1200、S7-1500、ET200、LOGO逻西门子可编程控制器辑控制模块
西门子HMI人机界面:触摸屏
西门子变频器:MM420、MM430、MM440、G110、G120、6SE70
西门子工业以太网:通讯网卡、通讯电缆、通讯接头、总线连接器 工控机、交换机、自动化软件等系型号齐全,快速报价,买我们的产品无忧所值,我们的产品都*质保一年,让您买的省心舒心,用的放心!
跟我一起玩200 smart PLC
关于指针的应用
对于200smart PLC的指针的应用,有些人或许熟悉,但又有可能比较陌生。就这个话题我以我所认识肤浅的理解来讲讲关于指针那会事(空余时间金星剧看多了)。
参考资料可以查阅200smart PLC的编程手册,参考直接寻址和间接寻址内容章节。
间接寻址方式是将一个数据,假设A的数据信息快递到另一个双字长度的数据B地址中,可允许访问存储区如I、Q、V区等,实际应用大多使用V区的原因是V区可使用的存储空间相对较大。这么简单的几句话,对于一个尚未理解寻址方式的编程者可能会很纠结。我是这样来理解这个问题,假设有一个数据A,要求将这个A放入到一个被好的数据中。A假设为实际的数据,所放入的数据地址为一个“箱子”,那么这个“箱子”需要给它编的号牌吧,相当于现在我们兑换的奖品,你让西门子网站的工作人员把你所需要的奖品寄给你,你得告诉他(她)们,你所在的地址信息,如果你没有明确告知你所在的地址信息,估计辛苦赚来西币换取的奖品还不一定寄到你手中,告诉的过程实际上就是指针的应用,经常在兑换奖品的同事,我的理解与经常在调用指针的原理在一定意义上的雷同了的。
我用200smart V存储区记录数据,来描述兑换奖品的过程(比喻可能不太且当),假设,我兑换了一个当今热门的“不倒杯”(话说这种杯子我也兑换了几个,送给几个还在读书或已经参加了工作了的侄女们),这个相当于是实际现实的数据(一个实际的物品),我得告知西门子网站的工作人员,我现在的住址是 浙江 XXX地方,这个相当于奖品需要寄往的地址信息,在指针的应用中相当于具体的地址区域。我的地址区域本身没有奖品(地址仅仅是一个V存储区,没有实际的杯子数据),而是需要依靠西门子网站的工作人员寄给我的“不倒杯”(相当于实际的数据)。
对于200 smart PLC的指针用“&”符号来标记,相当于我西门子网站工作人员的地址信息,而我需要拿的奖品杯子数量在指针应用中以“*”符号来标记。
200 smart PLC指针的取址以字节形式来描述,如、&VB0,这个是规约,没有其它方式。而寻址方式则以你所需要的数据类型来描述。假设,我需要寻址的数据地址为字节,则采用指令MOV_B;如果我需要的数据地址为一个双字,则采用指令MOV_DW来寻址。说来说去的把本是已经模糊了的数据搞的这么复杂有用吗?其实,问题在后面的实际应用上。
如果有一个项目,需要把一个变化的数据分别依次写入到自VB10为首的一串连续的10个字节数据地址区中,那利用指针方式编辑程序就容易的多了。当然,这些地址区只要是有规律的编排不是连续的也可以寻址,如首字节VB10,第二个字节存放地址是VB20以此类推也可以。
下面以编程的方式来描述指针存放数据的过程(编程思路):
1) 首先,定义好数据区。假设,源数据VB0,它需要把变化了的10个数据依次分别写入到自VB10为首的10个连续的数据存储区,止VB19。
2) 在调用这些数据区地址前,先初始化这些数据地址区的数据均为0,以便能够真实、准确反映实际的数据,这个要养成良好的惯。
3) 这些存储区事先规划好了是一串连续的数据存储区,所以,在实际应用中仅仅需要在数据传送完毕后,数据地址的指针加1,相当于所需要存储数据的地址下移一个字节。实际上这些上、下移动的指针地址,如果是以字节为单位的仅仅也只能是字节上、下移动一个字节,字为单位的移动2个字节,双字或浮点数为单位的移动4个字节。
4) 再者,因为事先定义好了仅仅是存储10个数据,所以,当指针下移的次数达到了10次(个),需要再将指针地址向上移动到原指针地址。这样便于重新开始下一轮的数据记录。
程序:
将程序编译、保存、下载到cpu进行测试,假设,我将由VB0源地址依次分别发送自10、20、30、40、50、、、、、、、的数据到起始地址VB10开始的地址区,图示:
为了方便监控效果,调用“状态图表”监控实际数据。
在VB0地址区依次分别键入10、20、30的数据,在M0.0位地址中,分别输入0、1激活数据的记录,图示:
当M0.0第11次接通后,数据将被清除,等待下一个循环的一个数据记录。
这段程序有一点类似于填表指令AD_T_TBL,但填表指令仅仅用于针对字型数据的记录,而采用这段程序很方便地对任何数据均适合,仅仅需要修改的是指针的偏移量及所需要规划好的数据记录区地址。
反过来,如果需要将N个源数据依次分别写入到一个的数据存储区,如一些加加、减减、乘乘、除除的运算,也是在此基础上变通的。
希望上面这段文字、图片有助于初入编程者对西门子200smart PLC指针编程的应用和记忆,文字颠三倒四码垛了一些,不足之处望网友指正,感谢。
在保存文件时,突然看到自拿了一个200 smart CR60,我竟然意想不到的已经写了一些短文了,这台PLC是我经历使用过无数台PLC中比较值得记忆的那台了,还是要感谢西门子,见证了从无知到有知的全过程。
通过以太网向导将以太网模块CP243-1配置为服务器,使用STEP 7 Micro/WIN中的向导进行通信的配置即可。在命令菜单中选择工具--以太网向导。
一步是对以太网通信的描述,点击下一步开始以太网配置。
在此处选择模块的位置,CPU后的一个模块位置为0,往后依次类推;或者点击读取模块搜寻在线的CP243-1模块(且将该模块的命令字节载入模块命令字节向导屏幕)。点击下一步;
选择模块相匹配的MLFB版本,如下图所示:
在此处填写IP地址和子网掩码。本例中将IP地址设置为:140.80.0.60,点击下一步;
下面的对话框将组态CP243-1进行S7连接的连接数量的设置。通过S7连接可以与通信伙伴进行读写数据操作,点击“下一步”按钮继续进行S7连接组态。本例中CP243-1的第三、四个连接分别为服务器连接。