版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SCL编程数据类型:基本数据类型复杂数据类型用户自定义数据类型BOOL位DATE AND TIMEUDTBYTE字节日历:格式:UDT的面向源文件的输入和 STRUC变量的输入一样,都限定 在关键字TYPE和END_TYP这 间。如:TYPE udt nameSTRUCTKomp1 name:datatype:=pre-assig n men t;Komp1 name:datatype:=pre-assig n men t;WORD字Date1:DT:=DT#:00:DWORD双字00名称类 型初 始 值CHAR字符STRING字符串格式:INT整数M1:STRINGNO.:=初始值;DINT
2、双整数END_STRUCT END_TYPEREAL浮点数ARRAY数 组格式:S5TIME时间:时,分, 秒。如S5T#1h1m1sM1:ARRAYN.M OF INT;数组名:ARRAYN.M OF INT;在数组里寻址:数组NO.DATE日期:年,月, 日。如;D#2012-4-26TIME表示:日期, 时,分,秒, 毫秒。如:TIME#24h20h3 1m23s648msSTRUCT结 构TIME OF DAY如:TIME_OF_DAY#OO:OO:O0TOD#OO:OO:OO注:还有两种类型:P:POINTER指针数据类型)。A:ANY任何类型)数组的定义:寻址绝对寻址地址区域位字节
3、字双字输入IByIWyP IDy输出QByQWyQDy外围输入PIByPIWypiDy外围输出PQByPQWyPQDy存储位MMByMWyMDy全局数据地 址DB .DB .DB .DByDB .DWyDB .DDy 符号寻址如:“ motorldata ” .DW12 间接寻址如:Ebyteindex,bitindex MBbytei ndex byte in dex二.SCL运算符和表达式结合名称运算符优先级圆括号(表达式)(,)1幕*2算术一元加,一元减+ ,-3乘法,除法* , /, DIV, MOD4加法,减法+ ,-5比较小于,小于等于,大于,大于等于,=6等于,不等于=,7非(一
4、元)NOT3二进制结合与逻辑运算AND,&8异或XOR9或逻辑运算OR10赋值赋值11注:以上运算符的表达式基本大多和我们的数学表达式一样。这里只讲解一下 AND,XOR,OR旨令。如:a1:=a1 AND W#16#FFFFa1:=a1 XOR W#16#FFFFa1:=a1 OR MW10四控制语句控制语句:语句说明:IF依赖布尔值的程序分支CASE依赖INT值的程序分支FOR具有运行变量的程序循环WHILE具有执行条件的程序循环REPEAT具有删除条件的程序循环CONTINUE当前循环通道的消除EXIT退出程序循环GOTO跳转到跳转标号RETURN退出块注意:当使用程序 循环时,请确保不
5、超过循环监测时间1. IF语句:IF条件0THEN 语句0;ELSIF 条件1THEN 语句1;ELSIF 条件2THEN 语句2; ELSE 语句3; END_IF;2. CASE语句:“选择”内的值等于Const内的值就执行那个语句。其它语句不 执行,就执行END_CASE;CASE 选择 OFCon st1:语句 1 ;Const2:语句 2;Constn:语句 n;END_CASE;3. FOR语句FOR 变量:=n0 TO n BY m DOEND_FOR;注意:这里的 n 为整型变量或整数值。 m 为每循环加几。4. WHILE语句:只要条件满足,程序循环就重复WHILE 条件 D
6、O语句;END_WHILE;5. REPEAT语句:只要条件不满足,就重复程序循环。REPEAT语句;UNTIL 条件;END_REPEAT;6. CONTINUE语句:在FOR, WHILE, REPEA循环中终止当前程序通道7. EXIT语句:在FOR, WHILE, REPEATS环中终止所有程序通道。8. RETURN语句:语句无条件地退出当前执行的块。9. GOTO语句:例:LABELCASE Selection;1:GOTO M1;2:GOTO M2;3:GOTO M3;ELSE GOTO DND;END_CASE;M1: 语句 1;GOTO DND;M2: 语句 2;GOTO D
7、ND;M3: 语句 3;END: ;五常量 :1. 位常量:值为TRUE或者FALSE.2. 字符常量: (这里是一个字符 )Charac_1:=BCharac_2:=char#43;Charac_3:=char#B 字符串常量:M1:=ABCDEFJH4. 日期常量:T1:=DATE#1995-11-11;T2:=D#1995-11-115. 时间常量N1:=TIME#;N2:=T#3D_2S_3MS;6. TIME_OF_DAY常量: TM1:=TIME_OF_DAY#12:11:;TT2:=TOD#10:10:10;7. DATE_AND_TI ME常量:TT:=DT#2012-4-26
8、-18:12:00;六定时器和计数器 :1 .定时器有 5种,依次为: S_PULSE S_PEXT S_ODT S_ODTS S_OFFDT VARCurrTime : S5time;BiVal : word;ActFlag : bool;END_VAR4 of STRUCTT_N INT;TV : WORD;END_STRUCT;END_VARFOR I:= 1 TO 4 DOCurrTime:= S_ODT(T_N=, S:=true,JEND_FOR;FUNCTION_BLOCK TIMERVAR_INPUT mytimer:TIMER; END VARCurrTime:=S_ODT(
9、T_N=mytimer,.);2.、计数器S_CU增计数器S_CD减计数器S_CUD增/减计数器S_CUD (C_N=C12, 4 of STRUCTC_N INT;PV : WORD;END_STRUCT;END_VARFOR I:= 1 TO 4 DO .);RESULT :=:EXPD (3); 141 592 ;RESULT :=:SIN (PI / 6);序FUNCTION FC4:VOIDKnow_Ho w_ProtectVAR_TEMP5 OF INT; T :INT; N :INT; END_VARRTU效验:FUNCTION FC101 : VOID7OF BYTE;/ 数组
10、N:INT;外循环6次M:INT;/ 内循环 8 次ZZ:INT;/ 数组指针YCW:WORD;/CF右移位时,判断最后一位。TEM:WORD;用做CRC最后结果的高8位和低8位的分别传送。END_VARBEGIN/ Statement SectionZZ:=0;/ 对指针清零TEM:=0;/ 清零SHUZU0:=ZH;/ 将输入的站号送给数组的 0 位SHUZU1:=GNM;/ 将输入的功能码送给数组的 1 位2位3位4位5位SHUZU2:=SZDZ1;/ 将输入的数据地址 1 送给数组的SHUZU3:=SZDZ2;/ 将输入的数据地址 2 送给数组的SHUZU4:=SZNR1;/ 将输入的
11、数据内容 1 送给数组的SHUZU5:=SZNR2;/ 将输入的数据内容 2 送给数组的CRC:=W#16#FFFF; 将 16#FFFR送给 CRC寄存器FOR N:=0 TO 5 BY 1 DO/ 外循环 6次CRC:=CRC XOR SHUZUZZ;将CRC寄存器与各字节异或FOR M:=0 TO 7 BY 1 DO/ 内循环 8次 YCW:=CRC;/将CRC寄存器的内容送给 YCWPYCW:=YCW AND W#16#0001;/取CRC寄存器的最后一位,也就是下面移位的溢出位CRC:=SHR(IN:=CRC,N:=1); 对 CRC寄存器右移一位IF YCW=W#16#0001 T
12、HEN CRC:=CRC XOR W#16#A001;/判断溢出位是否是1,是1就将CRC寄存器与16# A001异或END_IF;END_FOR;ZZ:=ZZ+1; / 一个字节处理好了,数组指针加1。END_FOR;TEM:=CRC;/将CRC内的内容送给 TEMTEM:=TEM AND W#16#00FF;取 TEM(CRC 的低 8 位SHUZU6:=WORD_TO_BYTE(TEM);将 TEMf氐 8 位送给数组的 6 号位 TEM:=CRC;/再将CRC内的内容送给 TEMTEM:=TEM AND W#16#FF00;取 TEM(CRC 的高 8 位TEM:=SHR(IN:=TEM,N:=8);/ 再高8位右移8位SHUZU7:=WORD_TO_BYTE(TEM);将高8位的内容送到数组的7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年兵团网格员考试押题卷配套刷题题库及精准答案
- 2026教科版三年级上册科学第二单元《水》期中模拟卷 省心直接用
- 2026中烟工业机电类考试历年试题及逐题解析答案
- 2023扬职院单招密训卷试题及官方参考答案
- 2022年融媒体宣传岗笔试题库及标准答案
- 甘肃省2020年书记员招录考试考前冲刺卷及参考答案
- 2026年审计机关初任培训测试题及答案
- 湖南岳阳市岳阳县第一中学2025-2026学年高三下学期3月阶段检测物理试题(含解析)
- 丝绸店铺转让协议书模板
- 降压芯片搭配协议书做快充
- 2025年广东省深圳市福田区中考三模英语试题(含答案)
- 《中国古代壁画艺术》课件
- 第1届全国周培源大学生力学竞赛试题及答案
- 小托福阅读:题型解析与应对策略
- 第五版PFMEA模板(自动计算AP值)
- 2025版中小学安保人员校园监控系统安装与维护合同3篇
- 医院9s管理培训
- 全国计算机等级考试《二级MySQL数据库程序设计》复习全书核心讲义+历年真题详解
- 污水管道及化粪池进行清污、疏通、巡检方案
- 气管切开病人的护理问题及护理措施
- 2024年贵州省贵阳市中考生物地理合卷试题(含答案逐题解析)
评论
0/150
提交评论