文档详情

PLC编程工作记录.doc

发布:2018-10-11约字共5页下载文档
文本预览下载声明
每个记录都用不用的颜色区分开了。 Wincc flexbile 2008 工程打不开解决方法 删除C:\Documents and Settings\All Users\Application Data\Siemens AG\SIMATIC WinCC flexible 2008即可 AB触摸屏软件打不开的解决方法 S7-200 模拟量工程值 4-20mA对应6400~32000 S7-300/400 DP通讯需要插入的系统块 插入这些组织块时,不需要编程内容,当从站断电、通讯失败等现象出现时,主站只报总线故障,但不停机。这样,无论从站先上电,还是主站先上电,系统都能正常运行:在做Profibus 通讯时300中要调用OB82,OB86,OB122,400中要调用OB82,OB85,OB86,OB122。 S7-300/400指针和循环简单例子(可以套用的哦) 程序段1 注释:打开数据块,只能同时打开两个数据块,而且一个用DB,一个用DI,,功能一致, OPN DB 4 //打开数据块DB4 OPN DI 15 //打开数据块DB15 程序段2 注释:指针建立 LAR1 P#98.0 //AR1指针为98.0 L 20 L DBW 96 //DB4.DBW96 (DB为DB4,DI为DB15) *I L 8 //此处乘以8为左移3位,去除位(指针的后三位用来存储X.0-X.7) *I LAR2 //指针地址为为DBW96*20(前面的乘以8必须,但不用管) 程序段3 注释:循环,传送10个字,从DB4.DBW98开始的10个字传送(复制)到DB15.DBW20(假设上述DBW96为1)开始的十个字。 L 10 //循环次数(循环体必须) QIAN: T #TEMP0 //建1个临时变量 (循环体必须) L DBW [AR1,P#0.0] //首次传送第(1)个字,第二次循环即第(2)个字,,, T DIW [AR2,P#0.0] +AR1 P#2.0 //修改第(2)次的 指针地址,因为为字,占用两个字节 +AR2 P#2.0 L #TEMP0 //循环体必须 LOOP QIAN //循环次数#TEMP0-1,如果#TEMP0大于0,跳转到上述QIAN继续循环,循环10次后,#TEMP0小于0,退出循环 S7-300 多重FB调用中的指针寻址注意点 FB中为了方便背景数据块参数的寻址,自动使用AR2寄存器,AR2寄存器指向背景数据块的首地址P#DBX0.0,如果改变了这个寄存器的值,你再访问背景数据块参数时将不会得到正确的数值.所以,在FB里使用AR2寄存器要小心,对这两个寄存器改变后不要再使用背景数据块参数,当要使用背景数据块参数时要先恢复这两个寄存器的值。 有一个常用的用法是多重背景FB的接口参数的寻址用法,需要用到AR2:(因为在多重背景中,变量的地址并不是其在背景数据块中的绝对地址,而是其相对于AR2的偏移地址),所以:在多重背景FB中,如果要得到某变量variable在背景数据块中的绝对地址,可以使用以下代码: TAR2 // 将地址寄存器装入累加器 AC 1 (偏移量),也就是多重背景FB中第一个变量在背景数据块中的地址。 AD DW#16#00FFFFFF // 关闭区域 ID L P##variable // 装载变量的地址 +D // 加上偏移量和变量地址 LAR1 // 将结果保存到地址寄存器 AR1 中 综上:为了避免出错,除非实在需要,否则最好不要在FB中使用AR2,若使用,在下次调用含有指针接口的程序前复位AR2。 通过实验,多重FB调用时,AR2不复位不会影响指针使用,但由于指针接口的地址查找错误,使得外部的指针变量存储在背景数据块中的其它地址里(非指定的Pointer),导致这些变量无法正常使用。 在FB中用到的AR2一般用到哪些地方? 首先讲,AR1与AR2两者应用没有任何区别,在一个程序中可以单独应用AR1或AR2(哪一个都可以),也可以同时应用。 例如,一个地
显示全部
相似文档