版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11-1-参考答案:
新建函数FC101BubbleSort,参数声明:
FC101_BubbleSort
名称数据突叁默认值密控注修
句▼Input
<3■enableBool回使能
0■mode8ool排序方式-6•升序.1会席
d▼Output
■帝熠〉
<2▼InOut
<1■►«rr«y$ortArrey(*joflot畏排序的数组
<S▼Temp
0•iDint僵环式复,
43■jDint值环变面
<2■tmplntInt忸忖费置mt
O■tmpLowBoundDim
49■tmpUboundOlnt
编写代码:
IF#enableTHEN
〃获取数组上限
#tmpLowBound:=LOWER_BOUND(ARR:=farraySort,DIM:=1);
〃获取数蛆下限
ItmpUbound:=UPPER_BOUND(ARR:=larraySort,DIM:=1);
〃冒泡排序
FORli:=#tmpLowBoundTOftrnpUboundDO
FOR#j:=#tn^)LowBoundTO(#tmpUbound-#i)DO
IFNOT#modeTHEN
〃升序
IF#arraySort[#j]>tarraySort[#j+1]THEN
#tmplnt:=#arraySort(#j+1];
larraySort[#j+1]:=larraySort[#j];
tarraySort[#j]:=#tmplnt;
END_IF;
ELSE
〃降字
IF#arraySort[♦j)<tarraySort[#j+1]THEN
itmplnt:=#arraySort[#j+1];
#arraySort[#j+1]:=farraySort[#j];
#arraySort[#j]:=#tn^)Int;
END_IF;
END_IF;
END_FOR;
END_FOR;
END_IF;|
11-2参考答案:
新建“圆面积”全局数据块,并定义LReal类型的“圆面积”数组,用于存放计算结果:
国面积
名称效据受为起拍值保椁从
4J▼Static0S
00□
3<3"QfilRlOlLReal0.000
4■LReal0.000
543■圆砌HILReal0.00M
6匈■图硼⑶LReal0.000
7O■图瑜4]LReal0.000
8■LReal0.000
9<0"圆硼⑹l艇50.00M
10■圜硼⑺LReal0.0
0回
11<3■圜瑜8]LReal0.000
12@aa°i9iLReal0.00
回
1390圆砌U011410.0
14■
新建“FC圆面积"函数,接口区及SCL代码如下:
11-3参考答案:
11-4参考答案:(略)
11-5参考答案:(略)
11-6参考答案:
在实际中,我们经常需要设定一个时间去和PLC系统时间进行比较,从而触发我们需要的
定时事件。
首先添加FC,建立如下变量:
1句▼Input
2包■yearUlnt
3<3■enableYearBool
4句■monthUSInt
5立2"enableMonthBool
6匈■dayUSInt
7<3"enableDayBool
8@■hourUSInt
9W3"enableHourBool
10&■minuteUSInt
11<3"enableMinuteBool
120•secondUSInt
13WJ■enableSecondBool
14包■weekUSInt
15O■enableWeekBool
16匈"localTimeBool
17■CJ►Output
18®►InOut
19<3▼Temp
20@]"tmpRetValInt
2143■tmpOutRangeBool
22@・>tmpActuallimeDIL
23包>Constant
24奋▼Return
25■O■ClockAlarmBool
编写SCL代码:
3〃怆充箴入欠是否有效.
4♦tspOutlUnge:•((2554<♦i'earOR*y«ar<19701JtfDEnableYearICRicspHOMuUUnge
5<(12<tnonthOR*snnth<1)ANDtenableNoath)Oft3y
6<(31<MayOR«day<1)AND«cn&bleD«y>CR
<<23<tbourORIbour<0>AND♦enableHour)OR*haour
8<<59<tslnuteORtsiinute<0)AMD•enableMinute)ORnuS
9(<S9<tsecoedOR・9BUOM<0)AKD•enableSecond}OR«3ieH
10(<7<4we«kOR<1)AJR>;
11
12〃我:果他入犍无效.复{ZPloukUg".
13]XF4tspCutJUr>ge-trueTHEN►谑果
14KlockAlanifalse;♦ClockAlar®
15RETURN;
16ncp_xr;
17
18〃工者继时•【£发系就时傅.
19E3IF<lacalTme-trueTMDC►9票TRUE
20♦tnpftetValM>-L0C,T<*a<iActuain»»):▼♦tBjtfletVal0
RD_LOC_H0
ttspJlctuaniDe£TU2018-12-2»-i0:i0:49.iy73«3951
ELSE
♦tBf*etVai:-RD-SYS.KiwpActuBlTiat);卜
rWD-TFy
25〃舱入僮二配・*±-CIO€»ltr»*.
26fClockXlara:-((tyear-iu^lctoeITine.YEAR)OR«>THtubleYear)JUTDTF.JE
27((tsoath-IttpActualTise.MOtfTH)ORNOTtenableMoith)AXD<aonth
28(<»day-4upAccualTxse.EAY)ORNOT#enableDay)AfiD♦<Uy
29(<«bour-*txpAccualTlMt.BOUR)CRWOTHnableBounAXD♦hour
90((tsinute■ttDpActualTisie.MIffiJTE)ORHOTtenable:4inute)AXDt&inute
31((♦-nd•ttspActualTixe.SECOND)ORXOTlenableSecond)AXD•aecood
32(<»ve«k-*cxDAccualTXM.KWCDAY)ORHOTHnabKKwlr);
11-7参考答案:
添加FB块,建立变量:
项目1►PLC_1[CPU1214CDaDaDC]♦程序块►stringDate_to_dateDate[FB1]
承■净士AE出名2附小加物锢w专"有亘第''id
stringDate_to_dateDate
名弥数据类2J默认值保持
包▼Input
2<3■stringDatelnString昨保持
3■扇替
4包▼Output
5句"dateDateOutDateD#1990-01-01非保持
6■扁替
7O►InOut
8O▼Static
9<3-stringYearStnng章保持
10O■stringMonthString辈保持
11|O■stringDayString非保持
12包■uintYearUlnt0车保持
13<3■usintMonthUSInt0车保持
14O■usintDayUSInt0聿保持
15►ddDateD1LDTL#197001-01-00:00:00挛保持臼
编写程序,如下:
1RKTUIUNapliz
2tstxingYear:-LEFT(IN:=tstringDateln,L:=4);>istringYear■2018,
IstringMonth:=MXD(XN:=IstringDateXn,L:=2,P:s5);,IstringMonth■12・
4fstringDay:=MID(IN:=fstringDateln,L:s2,P:=7);»tstringDay•20e
5[BND-REGION
6
7AR2GI0Nconvert
fuintYear:■STRIWG_TO_U!Wy(l«tringY«ar);>luintYear
9tusintMonth:=STRING-TO-USINT(tstringMonth);»tusintMonth—12—
10fusintDay:■STRXNG_TO_USXNT(IstringDay);>lusintDay20
ii[END_REGION
12
13早REGIONDTL
14IdtlDate.YEAR:=tuintYear;♦IdtlDate.YEAR2018
15fdtlDate.MONTH:=fusintMonth;>fdtlDate.MONTS12
16IdtlDate.DAY:=tusintDay;>tdtlDate.DAY20
17ENDREGION
18~
191dateDateOutDTL_TO_DATE;>1dateDateOut“2018-12-20
20
21
11-8参考答案:
〃不使用R_TRIG生成上升沿
□IF"Triger2"ANDNOT-TrigerZOld-THEN►■IUSB■!
•Triger2Ris"TRUE;•Triger2Ris-IMO.4
£L3E
-Triger2Ris-FALSE;•Triger2Ris-«M0.4FALSE
EKD-IF;
〃遇到上升沿ResulxZlBl
•Triger201dw-TrigerZ";►•Triger201d"»M0.3TRUE
□ir"TrigeraRis-THEN►FALSE
"ResultZ"wResult2"♦1;▼.Result?-%MW12
Result2"
EHD_IF;
11-9参考答案:
创建“温度控制”函数,接口参数如下:
温度控制
名称数据类加
Q▼Input叵
:9-温度设定值Real
:O-实际温度值Real
二<2■允许误差值Real
59▼Output
6«□・风扇Bool
7<2■加热2sBool
S▼InOut
■
,0<3▼Temp
9・上螂值Real
120・下螂值Real
▼Constant
14•奇野
•5▼Return
'<2•温度控制Void
编写代码如下:
3♦上核艰宜♦温度设定也+0-1*♦允许演费宜;
4♦下极限僚:-,鸿度设定d-0.1•■允许谡差僚;
5
6E1IF♦实际溪度值>♦上极限值THEN
7♦风.国:«true;
81ELSE
9SIIF♦实际澧叟且<-♦上核限篁THEN
10♦风扇:«false;
11END_IF;
12[END_IF;
13
14niF♦实际海曳也<♦下怪双也THEN
15♦加热器true;
161ELSE
17RIF♦实际温度道>>♦下15泯宣THEN
18♦加热都:■false;
19END_IF;
20i
ENDIF;
11-10参考答案:
求平均侑
名梆数掘靠经3♦最大B0;
1<□▼Input46平均值0;
2■向fib
3<□▼Output6EF0R»11TO10DO
4•a■最大值Int
7♦双整数欠:-INT_TO_DINT("数据拱一广.震拈数据[”]);
5<2■平均值Dim
加僮:-双整数僮+累加”;
6Q,InOut8♦JR♦♦
7Q▼Temp97IF"数搪块」”.原始数捐>♦最大原THEN
♦最大足:-“数指会二”.原拈数据【”】;
8•a■果演值Dint10
9•a•iInt11.ENt_IF;
10•a■双整效值Dint12[l
ENDFOR;
11Q>Consunt
13
12O▼Return
13■a■求平均值void国14,平均僮:-♦累加僚/10;
11-11参考答案:
新建工程,然后为PLC启用时钟存储器字节MBIOOOo
新建FC功能块,接口定义如下:
点疝金)三Lm目=臼w上启土物土国画屯9
名称效据克a?SiAll
1O▼Input
2<3>RUNBool运行信号
3©▼Output
4■
S©▼InOut
64□•puk.tempBool上升3中同位
7•度SETBool时用|o
sg•单次运行,J明
9O•单次运行分料
'0<□"单次运行效
■Q•总运行d'M
:-Q•总运行分14国
13-a•eisfi»
14<2■intTemp按耳位枝扬的时间
:<3▼Temp
16O■BWBool中同位
FC代码如下:
首先是一个程序段的梯形图,程序如下,因方便查看,所以就没有用秒脉冲,用的0.1S的
脉冲,真正使用时可调整为秒脉冲:
▼程序窿1:
接着插入一个SCL程序段,程序如下:为了防止操作员误按下时间清零按钮,所以加了一个
5秒长按才能清零程序
〃计秒
IF#TEMPTHEN
#单次运行秒:=#单次运行秒+1;
#总运行秒:=#总运行秒+1;
ENDJF;
〃计分钟
IF#单次运行秒>二60THEN
力单次运行分钟:=什单次运行分钟+1;
#单次运行秒:=0;
ENDJF;
IF#总运行秒>=60THEN
#总运行分钟:=#总运行分钟十二
#总运行秒:=0;
ENDJF;
〃计小时
IF#单次运行分钟>二60THEN
#单次运行小时:=#单次运行小时+1;
#单次运行分钟:二0;
END」F;
IF#总运行分钟>二60THEN
#总运行小时:=#总运行小时+:;
#总运行分钟:二0;
ENDJF;
〃不运行,单次时间都为0
IF#RUN=FALSETHEN
#单次运行小时:=0;
#单次运行分钟:=0;
#单次运行秒:=0;
ENDJF;
〃需要长按清零按钮5秒,才可以清零,防止误按。
IF#intTemp>=50THEN
#单次运行小时:=0;
#单次运行分钟:二0;
#单次运行秒:=0;
#总运行小时:=0;
#总运行分钟:二0;
#总运行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院采购科合同
- 化妆品包销协议书
- 哥俩赡养老人协议书(2篇)
- 二零二四年新能源项目投资合作协议
- 二零二四年度教育培训与人才引进合作协议
- 二零二四年度品牌合作与发展框架协议3篇
- 独家供货商协议
- 销售总代理合同协议
- 供应链物流平台服务合同
- 花岗岩供应商购销合同
- 智能家居员工劳动合同范本
- 《电工与电子技术》课程标准
- 人教部编版语文六年级上册第六单元习作:学写倡议书课件(共24张课件)
- 2024统编版新教材道德与法治七年级全册内容解读课件(深度)
- 第7课 实践出真知-【中职专用】2024年中职思想政治《哲学与人生》金牌课件(高教版2023·基础模块)
- 第十二届广东省安全知识竞赛暨粤港澳安全知识竞赛选拔赛考试题库资料(含答案)
- 四川省高职单招电气技术类《电子基础》复习备考试题库(浓缩500题)
- 细胞呼吸的原理和应用第2课时课件-2024-2025学年高一上学期生物人教版必修1
- 2024国家开放大学电大专科《学前儿童社会教育》期末试题及答案
- 2024-2030年中国铁路道岔行业发展趋势与前景展望战略分析报告
- 《数据可视化》题集
评论
0/150
提交评论