| 作者 | 主题 |
|---|---|
|
地主斌 游民 经验值:61 发帖数:14 精华帖:1 |
楼主
主题:FM353定位模块使用
经历了多天的努力,终于搞明353模块具体使用方法,介绍如下:
从《FM353 354操作模式》的第4页提到“对FM 353/354编程,就是编写与用户DB交换数据的程序”和图2所示;熟悉单片机的我原以为300PLC对353模块建有内部规定地址的寄存器,只要对该寄存器进行付值或读数即可!其实不是。 353与PLC的数据交换是通过一个DB数据块(该数据块可以是自建的或复制示例上的DB1),再在用户PLC的OB1程序中调用示例上的POS-CTRL(FC1)。但光直接调用还不行,又要复上示例上的OB100,再在OB100上调用POS-INIT(FC0),否则PLC会报错! 为什么本人调了多天才调通呢?1、所有手册上没有很明确指引用户编写程序时的结构如何怎样建立!其中A0477文档的第27、28、29页只写明“将其中的FC0,FC1,FC2,FC3,UDT1,DB1 拷贝到自己的项目中”!但这样是不够了,因为28、29页中分别有个调用FC0及FC1的程序。经我多次验证,FC1需在用户程序中的OB1是调用。且还要将示例中的OB100复过来,且在OB100中调用FC0!否则PLC报错!(这个问题研究了我很长时间) 2、现回想起PLC与353的工作原理得知,其实PLC是通过示例中的FC1及FC0调用DB1与PLC进行数据交换工作。本人原来还以为FC1与FC0是用户自己所建的功能块!因为示例上也用到FC1与FC0,只是多了一个POS-CTRL、POS-INIT。且该两文件都是加密了,用户根本不知是什么回事!这一点,我想西门子方面应该要在相关资料上作出具体说明! 综合上述,本人认为对353模块使用的方法总结如下: 1、打开在SIMATIC MANAGER 的文件菜单下选择“打开”,在打开项目的对话框中选择页面“例子项目”,找到项目“zEn13_02_FM353_EX”,并打开。将其中的FC0,FC1,FC2,FC3,UDT1,DB1 ,OB100,jogging mode test拷贝到自己的项目中。 2、在用户的PLC程序上的OB1中直接调用从示例中拷贝过来的DB1(如果用户程序要建DB块,请编号建到DB10以后,以防搞错)。 3、由于在第一步时已将OB100拷过来,这时需打开它确认一下“LADDR”机架上353模块的具体地址(在组态硬件中可以通过参看属性知道具体的地址),如果不对要改过来! 4、之后将上述的文件全部编译下载到PLC上后,即可通过拷过来的‘jogging mode test’变量表对353模块进行调试。 5、具体的程序编写可以通过MOVE等指令对相应的DB1.DBBx进行付值等操作…… |