siemens 300/400编程技巧3则
感谢 激情如火 提供,由中国工控网(a.gongkong.com)整理 数据块拷贝 FUNCTION FC 100 : VOID TITLE = //DB BLOCK COPY AUTHOR : AXG NAME : DBBTODBB VERSION : 0.1 VAR_INPUT SOU_DB : INT ; //SOURCE DB NUMBER LENG : INT ; //HOW MANY TO COPY DES_DB : INT ; //DESTINATION DB NUMBER END_VAR VAR_TEMP SOURCE : ANY ; DEST : ANY ; END_VAR BEGIN NETWORK TITLE = LAR1 P##SOURCE; // Load the start address of the ANY pointers in AR1. L B#16#10; // Load the syntax ID and T LB [AR1,P#0.0]; // transfer it to the ANY pointer. L B#16#4; // Load data type WORD and T LB [AR1,P#1.0]; // transfer it to the ANY pointer. L #LENG; // Load HOW MANY WORDS and T LW [AR1,P#2.0]; // transfer them to the ANY pointer L #SOU_DB; // Source is DB[?], DBB0.0 T LW [AR1,P#4.0]; // L P#DBX 0.0; // T LD [AR1,P#6.0]; // LAR1 P##DEST; //Load the DESTINATION address of the ANY pointer in AR1. L B#16#10; //Load the syntax ID and T LB [AR1,P#0.0]; //transfer it to the ANY pointer. L B#16#4; //Load data type WORD and T LB [AR1,P#1.0]; //transfer it to the ANY pointer. L #LENG; //Load HOW MANY WORDS and T LW [AR1,P#2.0]; //transfer them to the ANY pointer. L #DES_DB; //Destination is DB{?}, DBB0.0 T LW [AR1,P#4.0]; L P#DBX 0.0; // T LD [AR1,P#6.0]; // CALL "BLKMOV" (//Call the block move system function SRCBLK := #SOURCE,// RET_VAL := MW 210,//Evaluate the BR bit and MW 210 DSTBLK := #DEST);// END_FUNCTION 使用说明:可直接调用,#SOURCE---源数据块号 #DEST------目标数据块号 #LENG----要拷贝数据的长度 [color=#FF0000]S7 300400 的一些功能和技巧2[/color] 单键翻转 FUNCTION FC 11 : VOID TITLE = // AUTHOR : AXG FAMILY : ESU NAME : SDZF VERSION : 0.0 BEGIN NETWORK TITLE = A M 0.0; A M 0.1; = M 58.0; NETWORK TITLE = A M 58.0; AN M 58.1; = M 58.2; NETWORK TITLE = A M 58.2; S M 58.1; ON M 58.0; ON M 0.0; R M 58.1; NOP 0; NETWORK TITLE = A M 58.2; A M 58.4; = M 58.3; NETWORK TITLE = A M 58.2; AN M 58.3; AN M 58.4; S M 58.4; O M 58.3; ON M 0.0; R M 58.4; NOP 0; END_FUNCTION 使用说明:M0.0----使能 M0.1----单键使M58.4翻转 [color=#FF0000]S7 300400 的一些功能和技巧3[/color] 循环读模拟量入DB块 L #DB_NO T LW 0 OPN DB [LW 0] L #PIW_ADDR SLD 3 T LD 4 L #DBD_ADDR SLD 3 T LD 8 L #CH_LEN NEXT: T LW 0 L LD 4 LAR1 L PIW [AR1,P#0.0] T LW 2 { CALL "Read Analog Value 464-2" IN :=LW2 HI_LIM :=5.000000e+002 LO_LIM :=-1.000000e+001 将模拟量转换成工程量 BIPOLAR:=TRUE RET_VAL:=LW10 OUT :=LD12 } L LD 8 LAR1 L LD 2 T DBD [AR1,P#0.0] L LD 4 + L#16 T LD 4 L LD 8 + L#32 T LD 8 L LW 0 LOOP NEXT PIW_Addr :模拟块通道起始地址 CHI_LEN :要读入的 通道数 DB_NO :存储数据块 DBW_Addr :存储在数据块中的字地址
提交
助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案
车规MOSFET技术确保功率开关管的可靠性和强电流处理能力
未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?
2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会
2023钢铁展洽会4月全新起航 将在日照触发更多商机