PLC型号:西门子S7-200 SMART 6ES7288-1ST60-0AA1
参考手册:S7-200 SMART系统手册 V2.8
编辑软件:STEP 7-MicroWIN SMART V2.5
通讯端口:Ethernet
HMI型号:步科GL100E
参考手册:Kinco DTools组态编辑软件使用手册
编辑软件:Kinco DTools V3.5.3.3
通讯端口:Ethernet
辅助器件:明纬HDR-60-24开关电源和普联TL-SF1005工业级以太网交换机
记录作用:之前都是用三菱FX系列PLC做项目,突然碰到一个指定使用西门子S7-200 SMART的项目,一下子使用不习惯,所以把每一步记录下来,以后再有这种项目时可以回头看这个记录不用再重头看资料。
测试动作:在触摸屏上有点动、启动、停止、复位四个自复位按钮;按下启动后PLC进行流水灯输出动作,流水时间间隔在触摸屏上可调;按下停止后流水灯停止在当前位置不再动作;按下复位后流水灯回到第一个位置上。
PLC梯形图编程,我认为流程差不多都是一样的都是大同小异:
新建项目>设置PLC的型号>确定断电保持寄存器的范围,然后搞明白常开、常闭、上升沿、下降沿、线圈、置位、复位、定时器(包括10/100ms类型)、计数器的调用方法即可;
一:PLC编程
1.打开STEP 7-MicroWIN SMART V2.5,新建项目;
2.打开系统块,设置PLC的型号,设置断电保持的寄存器范围,这里的VW相当于三菱的D,都是16位;设置下载后重新上电生效;
另外还要设置PLC的CPU启动后处于什么状态,不修改的话每次重新上电PLC都处于STOP停止状态
3.特殊寄存器(对应三菱M8000系列特殊辅助继电器)
4.西门子PLC的内部数据存储区给用户提供了V变量存储区和M位存储区,它们均可以按位、字节、字、双字来进行操作;对于位操作,直接用V或者M加地址进行操作;字节操作时添加后缀B如VB或MB;字操作时添加后缀W如VW或MW;双字操作时添加后缀D如VD或MD;ST60的V区大小说明在手册的941页,有24k,1KB=1024个字节,所以V区可以存放24*1024=24576个字节;保持区最大12KB,12*1024=12288个字节;关于数据的讲解在手册的94页;
做程序前先分配元件区:
VW0~VW1000做断电保持寄存器
V1500~V2000做位辅助继电器区
VW3000及以上做断电不保持寄存器
6.程序块有3种:OB1(MAIN)、SBR、INT,其中OB1(MAIN)是主程序,全程序只有一个;SBR是子程序,全程序可以有最大64个;INT是中断程序,全程序可以有最大128个,中断方式有输入、定时、通讯、高速计数等;
5.辅助继电器的使用(常开、常闭、上升沿、下降沿):相比三菱FX有点区别,在西门子中不能直接使用上升沿,而是先放入常开点,然后在常开点后面放入上升沿。另外由于西门子的位存储区M非常少,只有256位,所以常用V存储器来代替;需要把位并联时拉扯箭头连上即可。
5.1放置常开点
5.2选择上升沿类型
5.3放置特殊辅助继电器:上电第一次接通
5.4两路并联
5.5放置传送指令
5.6注意的地方
VD0包含VW0和VW2,VW0包含VB0和VB1,VW2包含VB2和VB3,而VW1重复包含了VB1和VB2;
为了方便字W取地址可以0/2/4/6/8按照2的倍数取,双字D可以0/4/8/12按照4的倍数取,这样就不会因为疏忽导致地址重叠;
还有一个大小端的问题:假如VW100由VB100和VB101组成,其中VB101是低位,它是一个大端模式(高位字节数据放在低地址端);另一个例子假如VW0的数值是1,把VW0放入QW0,那么是Q1.0输出。
INT类型指的是16位有符号整数类型(也就是字)
5.7编译
6.添加注释
注意问题:
假如我把符号下的复位两个字删除了点击将符号应用到项目后,程序中仍然显示修改前的符号名并且该字符下显示绿色波浪下划线
原因:在《仅字符》或者《符号:绝对》下在符号表里修改变量的符号名;
解决方法:如果要修改变量的符号名,应先按《仅绝对》寻址,修改完成后再恢复《符号:绝对》寻址。
工程栏>视图>选择仅绝对或者符号:绝对
工程栏>工具>选项>常规>寻址
7.注意问题:在程序中打出一个变量,名称底下出现红色波浪线,表明用错地址错误提示,比如一个常开点用V0.0正常,打上VB0则出现提示,因为V0.0是位寻址,而VB0是字节寻址,常开点不能用位寻址。
9.置位和复位指令(对应三菱FX的SET和RST)
9.1置位和复位都要在指令的底下设置为1
10.定时器:我们常用三种类型定时器:TON、TONR、TOF;其中TON是接通延时定时(最常用),TONR是保持型接通延时定时(前面断开仍旧能记录已经延时的时间),TOF是断开延时定时器。关于1/10/100ms分辨率的分配在手册的438页有介绍。
注意点:
1ms分辨率定时器是每隔1ms刷新一次,与扫描周期和程序无关,其当前值在一个扫描周期内不一定保持一致;
10ms分辨率定时器是在每个扫描周期开始时自动刷新一次,其当前值在程序处理期间不会变;
100ms分辨率定时器是在定时器指令执行时刷新,下一条指令就可以使用刷新后的结果,为了保证定时值正确,应确保每个扫描周期只执行一次100ms定时器指令
在使用中发现:10ms定时器使用自己的常闭接通,设置为1时后面没有接通
如果换成用定时器常开点接通一个辅助继电器来断开的话就可以
这就是因为10ms定时器的时序问题,在扫描时序开始的时候更新一次又变回了初始值;所以编程的时候一定要注意定时器的时序问题
问题:西门子只提供了255个定时器,其中10ms分辨率的只有8个,在很多项目中定时器根本不够用。
解决思路:定时器复用,接通T33,定时1个单位,接通后复位,在程序中需要计时的地方用寄存器每当T33接通时自加1,加到大于等于需要定时的数值时进行相应的动作即可。
11.流水灯完整程序
需要在文档中说明程序时,可以在工程栏>文件>打印>打印机名称选择《Microsoft Print to PDF》,然后选择打印内容,即可把整个程序打印出来。
12.给PLC通电,用网线把PLC和电脑连接起来;
13.打开电脑的网络连接,查看PLC是否已经检测到;
14.工程树>通信>确定通信接口>点击查找CPU
15扫描到CPU的IP;
16.修改IP为你需要的;
连接成功
17.下载
18.切换到运行状态
19.在线监控调试,这个版本没有看到直接强制的,还需要进入状态图表中进行修改
20.注意:图表状态选中的情况下是不能下载和上传的
二:HMI编程
1.打开Kinco DTools软件,文件>新建工程;
2.在新建工程向导中设置好工程名称、保存路径、HMI型号,点击下一步;
3.在系统参数设置中设置好IP地址,要保证和PLC同一网段,然后设置制造商和通讯协议,点击完成;
4.把PLC拖入组态
5.把以太网拖入组态
6.在弹出的网络设备配置中点击增加
7.在网络设备配置中添加HMI和PLC
8.在工程树>HMI>HMI0>选中窗口,右击添加组态窗口并命名
9.在窗口中拖曳添加位状态切换开关,并设置好地址、类型、标签、图案等;
10.在窗口中拖曳添加位状态指示灯,并设置好地址、标签、图案等;
11.在窗口中拖曳添加数值元件,并设置好地址、标签、图案等;
最终完成
设置上电初始画面
12.全部编译
13.按住触摸屏界面>通电>系统设置>网络设置,设置好IP地址,重启
14.下载工程到HMI
工程栏>工具>下载
点击自动扫描,等扫描出后勾选扫描出来的HMI,然后选择下载的内容,最后点击下载
下载中
下载完成