PLC编程中形参与实参的区别

合集下载

S7-1200 PLC编程及应用第三版_廖常初_课件_第3章

S7-1200 PLC编程及应用第三版_廖常初_课件_第3章

4.时间累加器 时间累加器TONR的IN输入电路接通时开始定时(见波形A和B)。输入电 路断开时,累计的当前时间值保持不变。可以用TONR来累计输入电路接通的 若干个时间段。图3-21中的累计时间t1+t2等于预设值PT时,Q输出变为1状态 (见波形D)。 复位输入R为1状态时(见波形C),TONR被复位,它的ET变为0,输出Q 变为0状态。 “加载持续时间”线圈PT通电时,将PT线圈指定的时间预设值写入TONR 定时器的背景数据块的静态变量PT(”T4”.PT),将它作为TONR的输入参数 PT的实参。用I0.7复位TONR时,”T4”.PT也被清0。
3.2 定时器与计数器指令 3.2.1 定时器指令
1.脉冲定时器 将指令列表中的“生成脉冲”指令TP拖放到梯形图中,在出现的“调用选 项”对话框中,将默认的背景数据块的名称改为T1,可以用它来做定时器的 标示符。单击“确定”按钮,自动生成背景数据块。 定时器的输入IN为启动 输入端,PT为预设时间值,ET为定时开始后经过的当前时间值,它们的数据 类型为32位的Time,单位为ms,最大定时时间为24天多。Q为定时器的位输 出,各参数均可以使用I(仅用于输入参数)、Q、M、D、L存储区,PT可以 使用常量。定时器指令可以放在程序段的中间或结束处。
4.置位、复位输出指令 S(置位输出)、R(复位输出)指令将指定的位操作数置位和复位。 如果同一操作数的S线圈和R线圈同时断电,指定操作数的信号状态不变。 置位输出指令与复位输出指令最主要的特点是有记忆和保持功能。如果I0.4 的常开触点闭合,Q0.5变为1状态并保持该状态。即使I0.4的常开触点断开, Q0.5也仍然保持1状态。在程序状态中,用Q0.5的S和R线圈连续的绿色圆弧和 绿色的字母表示Q0.5为1状态,用间断的蓝色圆弧和蓝色的字母表示0状态。

PLC梯形图转语句表

PLC梯形图转语句表

PLC梯形图转语句表
我用plc梯形图写了个FC 在OB1中调用 在OB1视图选项中转换成STL后 为什么输入IN 参数都有一个L区地址与实参对应 而IN-OUT 和OUT 参数却没有呢 见图一
答:L是临时变量的意思。

楼主需要明白,所有的梯形图都可以转化成语句表。

不是所有的语句表都可以转化成梯形图。

只有附和一定格式的语句表才可以转化成梯形图。

比如你的这个句子。

如果只单纯的调用:
CALL FC2
start:= i0.1
stop:=I0.2
coil2:=q0.2
coil:=q0.1
是不能转化成梯形图的。

虽然运算结果相同。

分析它的语句表,就看到,它只是把输入参数,写转移到临时变量,然后再把临时变量的值赋予形参。

结果没有变化 。

但是相当啰嗦。

这也就是为什么STL要比梯形图执行效率好的原因。

自动化立体仓库中巷道堆垛机PLC的控制特点及编程

自动化立体仓库中巷道堆垛机PLC的控制特点及编程
前地址, 如图 5;
0 0 0 0 O O O O 排列 层 图 5 堆垛机实时地址显示 e. 若出现故障, 则显示故障代码及故 障语句。 如图 6
E3 3 OOOO
Y RUN 键键入
N
数字键 N
Y
功能键 N
Y
显示该键值
F键 Y
F键 功能块
↑↓键 Y
↑↓键 功能块
D el键 Y
子程序SBN 000 图 8 控制功能块程序框图
— 55 —
《机械设计与研究》1998 No. 2
SBN 000 (h30, h31, h32) (h33, h34, h35)
表 1 四种作业方式地址传送路径表
入库
出库
拣选
CN TR 1Φ # 0036 时 (# 0001, # 0000, # 0001)
软件中, 管理机与各 PL C 采用如下的通信格式及约定。 整个通信功能块的程序框图如图 10。
表 2 PLC—管理机数据通信格式及约定
byte
发送块
byte
接收快
0 通信控制字
0
1
1
2 任务序号字
2
3
3
4 返回控制信息 (无任务代 4
5 码, 执行任务代码, 故障代 5
码, 任务完成代码)
6
6
199802020图7键盘输入和显示功能块程序框图enter键功能块enter键del键功能块del键键键功能块f键功能块f键功能键显示该键值数字键run键键入键盘显示块扫描yynnnyyyyy图8控制功能块程序框图子程序sbn000入库地址处理出库地址处理拣选地址处理盘库地址处理入库出库拣选盘库判断操作方式清除该任务取下一条指令任务全部完成nynynynyny检测与处理功能块实现对系统故障的实时检测并处理通信功能块用于管理各堆垛机与管理机的实时通讯包括各种通讯包如

章节5-西门子PLC-SCL高级编程学习自测【包含答案】

章节5-西门子PLC-SCL高级编程学习自测【包含答案】

高级编程课时211、PEEK/POKE语句编程:使用POKE BLK指令将DB1-DB10的DBW0送入DB11的DBW0-DBW18。

A 未完成B 已完成正确答案: B2、FOR语句编程:通过FOR语句,编写带参数FC,输入Array[0..7]of Int 变量类型,名称为Arr_Input,输出2个Int,名称为Max和Min,通过编程求出Arr_Input的最大和最小的数,输出到Max和Min。

A 已完成B 未完成正确答案:3、1.通过IF语句,实现排污泵的启停:a.当高液位I0.0=False及高高液位I0.1=False,则泵1停止运行Q0.0=False,泵2停止运行Q0.1=False;b.当高液位I0.0=True及高高液位I0.1=False,则泵1运行Q0.0=True,泵2停止运行Q0.1=False;c.当高液位I0.0=True及高高液位I0.1=True,则泵1运行Q0.0=True,泵2运行Q0.1=True。

A 未完成B 已完成正确答案: B4、2.使用CASE OF 语句编程实现顺序控制:a. 当M0.0=True时,顺控开始;b.第一步调用FC2,FC2中置位Q0.0;当第一步执行时,如果M0.1=True,则跳转到第二步;c.第二步调用FC3,FC3中复位Q0.0,置位Q0.1;当第二步执行超过5s时,跳转到第三步;d.第三步调用FC4,FC4中复位Q0.1,置位Q0.2;第三步时MD2>1.0时,复位Q0.2,顺控结束。

A 已完成B 未完成正确答案: A5、3.FOR语句编程:通过FOR语句,编写带参数FC,输入Array[0..7]of Int变量类型,名称为Arr_Input,输出2个Int,名称为Max和Min,通过编程求出Arr_Input的最大和最小的数,输出到Max和Min。

A 未完成B 已完成正确答案: B6、4.FOR语句编程:编写带参数FC,输入Byte变量类型,名称为B_Input,输出Int变量类型,名称为Num_Input,将B_Input的每一位中为True的变量个数输出到Num_Input,例如输入2#11110000,输出为4。

step7编程语言与指令

step7编程语言与指令

S7-300/400的编程语言与指令系统3.1 S7-300/400的编程语言3.1.1 PLC 编程语言的国际标准IEC 61131是PLC 的国际标准,1992~1995年发布了IEC 61131标准中的1~4部分,我国在1995年11月发布了GB/T 15969-1/2/3/4(等同于IEC 61131-1/2/3/4)。

IEC 61131-3广泛地应用PLC 、DCS 和工控机、 “软件PLC ”、数控系统、RTU 等产品。

定义了5种编程语言1) 指令表IL(Instruction list):西门子称为语句表STL 。

2) 结构文本ST(Structured text):西门子称为结构化控制语言(SCL )。

3) 梯形图LD(Ladder diagram):西门子简称为LAD 。

4) 功能块图FBD (Function block diagram):标准中称为功能方框图语言。

5) 顺序功能图SFC(Sequential function chart):对应于西门子的S7 Graph 。

ͼ3-1 PLCµÄ±à³ÌÓïÑÔ˳Ðò¹¦ÄÜͼÌÝÐÎͼ¹¦ÄÜ¿éͼָÁî±í½á¹Îı¾3.1.2 STEP 7中的编程语言梯形图、语句表和功能块图是3种基本编程语言,可以相互转换。

1.顺序功能图(SFC) :STEP 7中的S7 Graph2.梯形图(LAD)直观易懂,适合于数字量逻辑控制。

《S7-300PLC应用技术》培训试题库

《S7-300PLC应用技术》培训试题库

《S7-300PLC应用技术》培训试题库一、选择题(A)1.世界上第一台可编程序控制器PDP-4是在1969年研制出来的。

A. 美国B. 德国C. 日本D. 中国(B)2.PLC的各种系统参数、I/O映像等参数存放到PLC的中。

A. 系统ROMB. 系统RAMC. 用户ROMD. 用户RAM(C)3.PLC的CPU与现场I/O装置的设备通信的桥梁是。

A. I模块B. O模块C. I/O模块D. 外设接口(D)4.为了拓宽输入电压范围,提高电源的效率和抗干扰能力,PLC的内部电源一般采用。

A. 并联稳压电源B. 串联稳压电源C. 锂电池D. 开关稳压电源(A)5.S7-300/400 PLC的电源模块为背板总线提供的电压是。

A. DC5VB. +DC12VC. –DC12VD. DC24V(C )6.下列不属于PLC的特点的是。

A. 通用性好,适应性强B. 可靠性高,抗干扰能力强C. 设计、安装、调试和维修工作量大D. 编程简单、易学(D)7.下列不具有通信联网功能的PLC是。

A. S7-200B. S7-300C. GE90UD. F1-30MR(B )8.作为德国国家标准和欧洲标准,由3个系列组成的现场总线是。

A. FFB. PROFIBUSC. LonWorksD. CAN(C )9.SIMATIC NET中,属于多点接口,适用于少量、慢,实时性要求不高的场合。

A. ETHERNETB. PROFIBUSC. MPID. AS-I(D )10.按组成结构形式、容量和功能分,S7-300属于。

A. 小型中档整体式B. 小型高档模块式C. 大/中型高档整体式D. 大/中型高档模块式(B)11.下列输出模块可以交直流两用的是()A. 光电耦合输出模块B. 继电器输出模块C. 晶体管输出模块D. 晶闸管输出模块(C)12.输入采样阶段,PLC的CPU对各输入端子进行扫描,将输入信号送入。

A. 外部I存储器(PI)B. 累加器(ACCU)C. 输入映像寄存器(PII)D. 数据块(DB/DI)(A )13.每一个PLC控制系统必须有一台,才能正常工作。

S7-300复习题3(1)

S7-300复习题3(1)

S7-300复习题一、填空题1、S7-300的存储器主要包括三部分,即装载存储器,工作存储器,系统存储器。

2、S7-300PLC是模块式的PLC,它由电源模块、CPU模块、信号模块、功能模块、接口模块、通信处理器组成。

3、在S7数据格式中,1字节BYTE包含8位BIT,1字WORD包含16位BIT,1双字DWORD包含32位BIT。

4、试写出三种复杂数据类型:ARRAY、STRUCT、STRING。

5、S7单个定时器定时最大时间为99990s,S7单个计数器计数最大值为999。

6、S7-300累加器的长度为4个字节。

7、标准STEP7软件包配备的3种基本编程语言是STL、LAD和FBD。

8、阅读和分析PLC程序的时候,每个输入输出都有自己的地址,程序用寻址的方法访问地址,PLC有两种寻27.OB1是主程序循环组织块,OB100是暖启动组织块,28.S7-300模块地址分配时数字I/O I/O模块每个槽划分为16Byte(等于8个模拟量通道)。

29.S7-300模拟量输入模块对输入标准模拟信号进行A/D转换,其中标准电压信号0~10V对应转换后的数字量数值为D~27648。

A/D转换器的输入量一般都为电压和信号。

30.调用SFB和FB时需要指定其。

31.是一种特殊的中间存储器类型。

它的二进制状态周期性变化,从而形成占空比为0.5的矩形波。

32.MD10由MW10、MW12两个字构成。

二、判断题(对)1.PLC设计的核心思想之一是用计算机代替继电器器控制盘。

(错)2.由于PLC的输入/输出电平可与外部装置直接连接,因此可用来直接驱动380V的交流接触器。

(对)3.PLC由输入部分、输出部分和控制器三部分组成。

(对)4.PLC主要由CPU模块、存储器模块、电源模块和输入/输出接口模块五部分组成。

(错)5.PLC的存储器分为系统存储器和用户存储器,其中系统存储器为ROM或E2PROM结构,而用户存储器主要为RAM结构。

学自控的看过来:在PLC子程序中自锁问题

学自控的看过来:在PLC子程序中自锁问题

学自控的看过来:在子程序中自锁问题
问题:子程序自锁无效。

某案例程序中调试时发现上位机按启动按钮很多设备同时启动,并不能自锁。

检查上位机和PLC程序,没有问题。

初步检查将问题锁定在“泵阀基础程序”,切断其他程序与“泵阀基础程序”子程序间的联系,只留下一处调用。

发现虽然没有了同时启动的现象,但还是不能自锁。

仔细分析认为,问题在自锁上,子程序中自锁是用输出来做的,在调用该子程序过程中,输出是无法保持的,也就是说在不同程序段中调用该子程序后,原有输出缓存中的内容被覆盖了,再次调用该自程序时,相当于程序从新开始,要想自锁,必须是读进来的参数,但不能用实参,因为别处还得调用该子程序。

把原输出改成“输入输出”形式后问题解决。

分析:用“输入输出”参数自锁状态下,调用子程序时,输出同时也是输入,能从实参缓存读到形参缓存中,从而实现自锁。

程序如下:
问题程序:
修改后:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PLC编程中形参与实参的区别
结合STEP7里具体点说可以是,假如我们有1个功能块FB1,功能FC1,几个FB1的背景数据块。

在FB1里写公式a+b+c,这里a,b,c就是形参。

而在FC1里我们定义在I0.0=1时调用FB1,并令a=1,b=2,c=3.此时1,2,3就是实参。

而定在I0.1=1时调用FB1,令a=10,b=20,c=30,此时10,20,30也是实参。

举例说明:
例:
3X + 2Y =5Z
当X=48,Y=22,求Z?
其中X,Y,Z就是形参。

48,22就是实参。

形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数.
实参:全称为"实际参数"是在调用时传递个该函数的参数.
形参:形式上的参数,没有具体值。

你在写一个方法的时候当然不知道具体值
而实参:是你调用方法时给的参数,给的是和所调用方法所匹配的具体值。

数值传递的时候,实参是不变的,形参是随着计算而变化的。

指针/引用传递的时候,行参怎么变~实参就怎么变。

实参就是送进去的东西,行参就是把送进来的东西进行加工。

加工完后就返回一个东西:返回值.
编程简单理解为“形参”与“实参”的相互作业,体现在具体编程中就是:在程序FB/FC中全部使用“形参”,这里的”形参“你可以随便定义,你主要知道它的意思就可以;在程序编好以后就回到主程序OB1,把你编好的FB/FC拿出来,因为原来FB/FC是一块一块的,所以在OB1中你想拿多少次FB/FC都是没有问题的,当然这个由你的实际需要决定哦,这个时候的FB/FC 就表现形式为一个”功能箱“,就好象在编程时我们要使用的什么计数器/计时器/SR/RS触发器等一样,我们需要的是给这些”功能箱“赋与它生命的”实参“,这个时候”功能箱“才会动起来,至于它怎么动,当然是你自己想的。

理解了”功能箱“FB/FC和OB1的联系与差别,你应该对于所谓的”结构化“有了一定的认识,需要注意一下的是FB是一个完全意义上的”功能箱“,FC是部分意义的”功能箱“,为什么这样说是因为FB和”功能箱“的使用完全相同,具体表现为FB的“形参”不要求全部有“实参”,但是FC“形参”与“实参”必须一一对应。

接下来我们解释一下FC/FB的参数和变量类型有什么区别,FB有静态(STAT)变量类型,静态变量存储在FB的背景DB,当FB这个”功能箱“使用完后那些个存储在静态(STAT)变量类型下的数据依然有效;FC有一个返回值变量(RET-VAL)用于返回调用的结果,但是使用OUT/IN-OUT类型的参数可以输出多个变量,比RET-VAL有更大的灵活度,所以很少使用这个RET-VAL,但是FB中间没有STA T是不可以想象的。

几点说明:1:“形参”即局部变量,“实参”即全局变量,“形参”在程序块的变量声明区中定义,“实参”则要在符号表中定义;
2:在编程前先要发一些时间规划好要用到的“实参”;
3:要知道编程有LAD/STL/FBD三种,但是不是所有的STL都可以转换为LAD/FBD;
4:对于在FB中定义好的“形参”,在创建对应的DB时会自动加载已经定义好的“形参”,但是需要注意的是要对FB的静态(STAT)变量类型的具体参数值定义;
5:在编程时要学会使用SHIFT这些组合键;
6:对于任何一个编程工作者多不可能记忆全部的指令/系统功能/功能块,在使用时要学习使用F1帮助。

相关文档
最新文档