完整wordPLC实训讲义新版Word文档下载推荐.docx
《完整wordPLC实训讲义新版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《完整wordPLC实训讲义新版Word文档下载推荐.docx(58页珍藏版)》请在冰豆网上搜索。
(5)电源模块(PS)
(6)接口模块(IM)
(7)导轨(固定各个模块)
PLC工作的中心内容可以简述为输入采样、程序执行、输出刷新三个阶段,如下图.
(1)输入采样
在输入采样阶段,PLC扫描所有输入端子的状态,将结果存入相应的输入映像寄存器。
在输入采样阶段完成后,输入映像寄存器的内容被锁存,无法改变。
直到进入下一次的输入采样阶段才能重新更新输入映像寄存器。
(2)程序执行
在程序执行阶段,PLC根据程序、从输入映像寄存器读入的输入状态、从元件映像寄存器读入的输出状态,从OB1程序块第一条指令开始按顺序执行运算,将运算结果存入对应的元件映像寄存器中,在执行过程中,元件映像寄存器的状态会不断刷新。
执行完最后一条指令后转入输出刷新阶段。
(3)输出刷新
完成程序执行阶段后,PLC将输出映像寄存器中的输出状态存入输出锁存器,按照一定的方式集中输出,驱动外部电路。
在下一次的输出刷新阶段到来之前,输出锁存器的输出状态将被锁存,无法改变.
二、S7-300通讯
SIMATICS7—300具有多种不同的通讯接口:
●PROFIBUS
●MPI
●工业以太网总线系统
●485通讯、Modbus通讯等
三、实训平台简介
单个实验台主要包括电源部分、可编程控制器部分、输入输出部分、I/O转换口、人机界面、控制网络部分、上位机、变频器、被控对象等。
上位机中安装有相应的工控软件,以便实现编程、管理、通信、组网以及监控等。
电源部分实行单个自动化单元独立开关和总闸开关方式.
●PLC控制器部分
●输入输出部分
●人机交互部分
●上位机的硬件配置及软件配置
●变频器
●控制网络构建
●小车I/O地址表
序号
地址
说明1
说明2
1.
I0。
1
“1”号键值信号输出
2.
I0.1
2
“2"
号键值信号输出
3.
I0.2
3
“3”号键值信号输出
4.
4
“4”号键值信号输出
5.
I0.4
A(传感器信号)
左侧电感式传感器信号输出
6.
5
B(传感器信号)
电容式传感器信号输出
7.
6
C(传感器信号)
光电式传感器信号输出
8.
7
D(传感器信号)
右侧电感式传感器信号输出
9.
I1。
手/自动
手动/自动模式选择开关
10.
启动/停止
启动/停止选择开关
11.
Q0。
A(位置显示)
数码显示控制端子A
12.
Q0.1
B(位置显示)
数码显示控制端子B
13.
Q0.2
C(位置显示)
数码显示控制端子C
14.
电机正转
电机电源端附加正向电压
15.
电机反转
电机电源端附加反向电压
16.
快速
电机电源端附加+24V电压
17.
慢速
电机电源端附加+12V电压
18.
Q0.7
报警
系统报警信号输出
说明:
数码管采用三八译码器。
四、实验
根据老师讲解的S7—300知识和实训平台介绍熟悉实训硬件平台,分清强弱电,为以后的实验做好安全意识准备。
本讲义抛砖引玉,希望同学们自己想控制要求自己编写程序。
还有很多例子可以做比如:
WinCC监控小车、触摸屏监控交通灯、网络控制两台变频器随动、PLC300与PLC200的通信(DP&net)、logo!
使用、病房呼叫系统、触摸屏直接控制MM440、多个实验台协作等等,希望有时间有精力的同学发挥主动性,充分掌握西门子S7-PLC。
第二章STEP7编程初步
一、STEP7编程环境
课前学生自己在有关书籍中了解STEP7的编程环境
二、建立第一个工程例子
目的:
(1)了解SIMATICS7—300PLC的硬件结构;
(2)了解STEP7环境,掌握组态,下载;
设备:
(1)计算机一台
(2)综合实验平台一台
课后作业:
有条件的同学,下载STEP7,并安装在自己的电脑上;
实验室电脑上装有还原系统,请将每次编写的软件用优盘拷走。
步骤:
1在STEP7中创建新项目,双击桌面
S7tgtopx—〉file->
new设置新建项目名称(如‘myproject’)及保存位置—单击OK.
2右击工程名,insertnewobject->
Simatic300Station插入S7—300站。
3双击hardware,开始硬件组态,在右栏中依次点击SIMATIC300—>
RACK-300—>
Rail,双击Rail,插入导轨。
4点击第一个槽,在右栏中依次点击SIMATIC300->
PS300—>
PS3075A,插入电源模块.
5点击第二个槽,在右栏中依次点击SIMATIC300—>
CPU—300-〉CPU315F—2PN/DP-〉6ES7315—2FH13-0AB0—〉V2.6,插入CPU模块。
6第三槽空缺,以便扩展机架,是专门为IM模块准备的。
在第四槽位插入数字量输入输出模块。
SIMATIC300—〉SM-300—〉DI/DO-300—〉SM323DI16/DO16*24V/0。
5A,注意订货号一致。
7在第五槽位插入模拟量模块,注意订货号一致。
8双击二号槽位下的MPI/DP,在弹出的对话框中设置DP网络地址为2.
9单击new,新建一条名为PROFIBUS
(1)的DP网络,其他设置采用默认格式,点击确定,组态完成并保存.
10硬件组态界面中单击download(↓)。
单击OK即成功下载至S—7300。
11将左栏展开至Blocks,单击功能块OB1。
这里的OB1相当于C语言里的Main函数,OB100是初始化程序。
另外日后编程中经常用到FC、FB、SFC、SFC等,FC、FB相当于C语言里的子函数供OB1调用,FB自带背景功能块,SFC、SFB是系统自带的功能块,不允许用户修改其内容只能调用.
12首次使用OB1系统会弹出如下的对话框,询问编程语言。
STEP7提供LAD、STL、FBD、STL等语言,其中LAD梯形图和STL指令表是常用的语言,如果从事PLC智能控制和大型数据处理的将采用STL(语言格式类似于C语言,需要单独装软件)。
由于LAD简单直接特别适合初学者,我们采用之。
点击OK,进入OB1内部编程,S7—300的梯形图和200的类似,我们编写如下图的三段程序(Network1,Network2,Network3)
13用下载命令download(↓)将程序下载到PLC,然后按“眼镜”按钮可以实时监视和测试程序
14【Network1:
1#程序,演示输入输出对应关系】程序说明:
让I0.0带电(按下‘1’按钮即可),观察Q0.0的情况,
然后松开按钮,观察Q0。
0的情况
本程序简单但意义重大,要理解程序的实际意义,必要时现场与老师交流
15【Network2:
2#程序,演示PLC扫描顺序】程序说明:
实际监视M0。
0的变化情况,理解此现象的原因
本程序简单但意义重大,要理解程序的实际意义,必要时现场与老师交流
16【Network3:
3#程序,定时器使用】程序说明:
I1.0带电时,计数器开始定时,
定时时间到,M0。
1带电并维持
I1。
0掉电,定时器停止工作,M0。
1失电
任何时候,I0.0带电,复位定时器
17保存程序,本个例子结束
三、虚拟PLC,离线调试
当没有PLC时,我们可以使用西门子的仿真PLC软件模拟一个虚拟的PLC,在以上工作基础上,步骤如下:
1保存并回到管理器界面按下图所示按钮:
进行适当的设置,可进入如下仿真界面(不详细介绍,学生自己熟悉)
2、在此界面上,可以模拟I0.0,m0.0等的带电失电(用鼠标点击相应位置即可)
3、重复上面13,14,15,16步骤工作
回顾以上过程、总结PLC编程步骤,理解PLC的工作原理,必要时重新重复每一个步骤,直到熟练掌握
思考题:
【Network2:
2#程序,演示PLC扫描顺序】,M0。
0是一个扫描周期带电+一个扫描周期失电,太快,能否编程使M0。
0成为:
1秒带电+1秒失电.
提示1:
利用定时器,注意此时需要2个定时器
提示2:
利用PLC的系统状态字(与老师交流)
第三章LAD语言基础简介
本章内容不在课堂实施,希望同学课下熟悉
1位逻辑指令
2比较指令
3转换指令
4计数器指令
在CPU的存储器中,为计数器保留有存储区。
该存储区为每一计数器地址保留一个16位的字.梯形逻辑指令集支持256个计数器.计数器指令是访问计数器存储区的唯一功能。
计数值计数器字的位0至位9包含二进制码的计数值。
当计数器置位时,计数值传送至计数器字。
计数值范围从0至999。
通过使用以下计数器指令,可以在这一范围内改变计数值:
·
S_CUD加—减计数器
S_CD减计数器
S_CU加计数器
———(SC)计数器线圈置位
-—-(CU)加计数器线圈
—--(CD)减计数器线圈
5数据块指令
--—(OPN)打开数据块:
DB或DI
6逻辑控制指令
7整数算术运算指令
使用整数算术运算指令,可以进行以下两个整数(16位和32位)之间的运算
•ADD_I整数加法
•SUB_I整数减法
•MUL_I整数乘法
•DIV_I整数除法
•ADD_DI双整数加法
•SUB_DI双整数减法
•MUL_DI双整数乘法
•DIV_DI双整数除法
•MOD_DI回送余数的双整数
8浮点算术运算指令
9赋值指令
举例3—9:
MOVE(赋值指令)可以由使能(EN)输入端的信号激活。
将在输入端IN的特定值复制到输出端OUT上的特定地址中。
ENO和EN具有相同的逻辑状态。
MOVE只能复制BYTE(字节)、WORD(字)或DWORD(双字)数据对象。
如果I0。
0=“1"
,则执行指令。
MW10的内容被复制到当前打开的数据块的数据字12中.如果执行指令,则Q4。
0为“1"
。
10程序控制指令
下述程序控制指令可供使用:
•—--(CALL)从线圈调用FC/SFC(无参数)
•CALL_FB从方块调用FB
•CALL_FC从方块调用FC
•CALL_SFB从方块调用SFB
•CALL_SFC从方块调用SFC
•RET返回
11移位和循环指令
11。
1移位指令
下述移位指令可供使用:
•SHR_I整数右移
•SHR_DI双整数右移
•SHL_W字左移
•SHR_W字右移
•SHL_DW双字左移
•SHR_DW双字右移
11.2循环指令
•ROL_DW双字左循环
•ROR_DW双字右循环
12定时器指令
12定时器指令
下述定时器指令可供使用:
•S_PULSE脉冲S5定时器
•S_PEXT扩展脉冲S5定时器
•S_ODT接通延时S5定时器
•S_ODTS保持型接通延时S5定时器
•S_OFFDT断电延时S5定时器
13字逻辑指令
字逻辑指令按照布尔逻辑将成对的字(16位)和双字(32位)逐位进行比较.
如果输出OUT的结果不等于“0"
则状态字的位CC1被置为“1”。
如果输出OUT的结果等于“0”,则状态字的位CC1被置为“0”。
下述字逻辑指令可供
使用:
•WAND_W字和字相“与(AND)”
•WOR_W字和字相“或(OR)”
•WXOR_W字和字相“异或(XOR)”
•WAND_DW双字和双字相“与(AND)”
•WOR_DW双字和双字相“或(OR)"
•WXOR_DW双字和双字相“异或(XOR)”
第四章小车控制程序
实验目的:
(1)熟悉STEP7环境,掌握组态,下载;
(2)通过编写小车程序,熟悉S7—300语言及编程技术;
实验设备:
(3)小车一台
要求:
分别实现小车的手动和自动控制,手动控制的基本要求为可以控制小车运行的方向和快慢,自动控制的基本要求为可以控制小车按照预先设计好的步骤自动的循环运行,同时都需要注意的是小车运行的安全问题,即保证小车在站1和站4之间运行,不会超出。
对这两项都熟练掌握后可以考虑小车在任意位置运动到指定站点该如何控制,即小车的智能控制。
值得注意的是,站3的信号为常闭信号,即无小车时有信号有小车时无信号请编程时注意,另外,小车在路过站3时,传感器动作2次(其他站点在小车经过时动作1次)。
注意:
●小车输入输出点配置参加第一章。
●使小车运动,同时选中以下组合式才有动作。
快速&向左
慢速&向左
快速&向右
慢速&
向右
1、手动控制编程1:
(1)首先我们要做的就是如何让小车动起来,通过上面的表格可以知道小车要动起来有两个条件一是方向,二是速度,我们就根据这个道理,来让它动起来
第一个小车程序如下:
(2)但是很容易就能发现上面的程序如果不关闭小车就会一直向左或向右,直至出了边界造成小车不可控状态,所以我们需要设计防止小车运行出界的程序。
增加以下安全程序:
2、手动控制编程2:
【手动控制编程1】中程序有个缺点,就是必须时刻按着按钮,小车才能运动,以下程序,按一下按钮小车持续运动直到边界停止:
思考一下:
这里用了自保节点实现小车持续运动,还有什么方法?
下个程序给出答案
3、手动控制编程3:
说完了让小车动起来,以及运行的安全问题,接下来就是小车的手动基本控制了,控制要求为打开开关后可以手动控制小车运行的方向和速度,关上开关停止运行,同时要注意安全问题。
设计思想:
利用实验平台现有的四个按键分别来选择,两两一组,1键和2键用来选择左右,3键和4键用来选择速度,同时要注意左右和快慢的闭锁关系,避免出现错误,可以用置位和复位线圈。
程序如下:
但是仅有这个还不够,不要忘记还有安全程序,将它们和在一起就是一个完整的程序,能够实现上面的控制要求。
保存程序,并下载到PLC中,按下按键观察小车动作。
思考1:
假如在上面的程序之后再加上如下的程序,小车又会怎么运动?
思考2:
假如不使用四个键来选择方向和速度,只使用两个,1键按一下为向左,按两下为向右,2键按一下快速,按两下为快速,再按下去的话还是这样循环,该如何来编程?
小提示:
可以利用计数器来实现。
4、自动控制编程1:
自动控制编程:
(1)自动控制的小车动起来和手动一样不再多说。
(2)安全程序和手动稍有不同,手动只要求不能继续运行,而自动还要求要小车转向,所以要稍加修改,增加一个转向的分支即可.实现的功能是打开开关小车在1和4站之间来回不停运行,关上开关停止运行.完整程序如下:
思考1:
如果程序要实现在每个站点都停2秒钟再继续走,如何实现?
(提示:
利用定时器和让Q0.5得失电来考虑)
在小车运行的过程中我们会发现它每次都会在站3停两次,这是实验器材本身的问题造成的,怎么才能解决这个问题?
利用01010101循环或利用计数器)
思考3:
在经过某个或多个站点后变速运行,如何实现?
5、手动自动联合调用编程:
(1)打开第二章中我们组态好的工程,右击插入FC1,FC2.
插入FC
(2)FC1为手动控制程序模块,FC2为自动控制程序模块,OB1为选择模块,可以选择手动还是自动控制,在其内输入程序如下:
6、智能小车程序1
把程序看懂然后测试:
本程序编程思想为:
在第N个传感器位置暂停然后继续前进,N可调
6、智能小车程序2
(1)本智能控制主要实现的功能是小车停在任意位置时按下按键,小车都可以移动到指定位置。
(2)要实现这个功能我们可以从两个方面考虑,一是小车要去的目标我们要知道,二是小车目前的位置我们也要知道,知道了这两个位置之后我们就可以通过一些数学方法比如比较来判断小车应该向哪个方向走,什么时候该停下。
(3)这里提供一种思考方法,把小车要去的目标看成四位二进制数,按键1为高位,小车的目标位为1,其余为0,小车目前的位置同样看成四位二进制数,站1为高位,小车所在站为1,其余为0,这样我们就可以通过比较这两个二进制数的大小来判断小车该往哪个方向前进,如果目标的二进制大于位置,则小车应该向左,反之应该向右,如果相等则说明已经到达目标。
(4)前面的方法还漏掉了一种情况就是假如小车停在两个站点之间,这时又该怎么办呢?
这时位置信号时没有的,我们就可以在程序中设置假如小车没有停在站点,则小车开始默认向某个方向运动,到达第一个站点后再重新判断该往哪个方向.
参考程序如下:
在以上的程序中小车所走的路径并不是最优化的,那么该如何编程才能实现小车所走路径为最优化呢?
第五章WinCCflexible2008基础及TP177B
一、WinCCflexible介绍
WinCCflexible主要用于西门子触摸屏编程,是用于过程可视化的软件。
在运行系统中,
二、实验
1进一步温习STEP7环境,掌握组态,下载;
2通过编写TP177B的监控画面熟悉WinCCflexible使用以及DP设置;
1计算机一台
2综合实验平台一台
3小车一台
我们所做的实验仅在熟悉STEP编程环境以及编程语言,并不考虑编程的完美性和简洁性,有兴趣的同学请自行编写更完美和精确地程序。
三、编程设计
首先,我们回顾以前编写的PLC控制小车的手动程序如下:
触摸屏可以设计软件图形界面,并可以读写PLC的各种寄存器,为了配合触摸屏的工作,我们要修改上面的程序,使他满足利用触摸屏进行控制,列出程序以前,首先说明,触摸屏可以读取PLC的I寄存器,Q寄存器,M寄存器,也可以写入M寄存器以改变寄存器的数值(思考:
根据PLC的扫描原理想想为何不能写I寄存器和Q寄存器?
),好,现在修改程序如下:
上述修改程序,就是在每个I节点上,并上一个M节点,那么我们对这些M节点,写1写0就可以在触摸屏上控制小车的运动(注意,此程序没有加过界保护程序)。
PLC程序准备好了,下面开始触摸屏编程
以第四章组态编程好的小车监控程序为基础,在窗口工程名上右击,并依次点击InsertNewObject->
SimaticHMIstation.
在弹出的对话框中,选择触摸屏的类型:
Panels—>
170-〉TP177B6'
'
colorPN/DP,按确定键,耐心等待。
双击进入项目。
选中TP177BStation的Configuration进行硬件组态,双击打开,槽3和槽4中系统已经自动插入WinCCflexibleRT和HMIMPI/DP。
双击“HMIMPI/DP”将TP连上相应的ProfibusDP网络(先前在300组态时建立的Profibus
(1)),并设置DP地址(地址需与TP177B面板上设置的一致,设置为6),点击确定。
保存硬件组态并关闭。
进入项目点击Screen1。
得到如下画面.
展开HMI点击communication下的connections,建立与PLC的连接.
点击Tags,建立变量,建立“报警”,bool型,地址为Q0.7,周期为100ms。
周期越短监控画面越能与实际同步。
以此方法建立如下变量表
打开画面,拖放一个TexeFiled,设置字颜色为蓝色、背景色为黄色,并选择合适的字号,并输入文字.
拖放两个圆圈并画两条线段,合适位置合适颜色。
拖放四个方框。
将第一个方框轮廓和背景都改成与底板一样的颜色,四个方框均按照此设置.
第一个方框的,Appearance作如下设置,即enable,tag=站1,bit,Value=1时,背景色=蓝色.第二个方框设置为enable,tag=站2,bit,Value=1时,背景色=蓝色。
第三个方框设置为enable,tag=站3,bit,Value=0时,背景色=蓝色(因为站3的传感器为常闭).第四个方框设置为enable,tag=站4,bit,Value=1时,背景色=蓝色.
如图拖放五个圆圈和六个按钮,并用文本域说明每个圆圈的含义。
注意千万不要碰到绿色边界,碰到后下载到触摸屏将会白屏。
为每个圆圈连接变量,“快”的设置:
Appearance作如下设置,即enable,tag=快速,bit,Value=1时,背景色=红色。
“慢”的设置:
Appearance作如下设置,即enable,tag=慢速,bit,Value=1时,背景色=红色。
“自动”的设置:
Appearance作如下设置,即enable,tag=手动自动,bit,Value=0时,背景色=绿色。
“手动”的设置:
Appearance作如下设置,即enable,tag=手动自动,bit,Value=1时,背景色=红色.报警的设置:
Appearance作如下设置,即enable,tag=报警,bit,Value=1时,背景色=红色。
为按