最近带学员做实操的时候,发现一个很普遍的问题:大家跟PLC通信时,像M区、V区、Q区这些地址都玩得很溜,可一碰到S7-1200的DB块地址,就瞬间卡壳了,对着屏幕挠头不知道咋关联。
其实我当初刚学的时候也栽过跟头,总觉得DB块通信是什么高深技术。后来摸透了门道才发现,根本没那么复杂!今天就把我总结的实操步骤拆开来讲,连常见问题的坑都给你们填上,跟着做保准一次成~
第一步:先把PLC程序写好,基础得打牢
通信能不能成,PLC程序是根基。我每次教的时候都会让学员先把这几步做扎实,一步都不能省。
1. 创建DB块并写好地址
打开博途软件后,先建个DB数据块——记得建的时候我习惯顺手给它改个好记的名字,比如“电机正反转控制”,后面找的时候就不用瞎翻了。然后在里面按需求添加变量,地址会自动生成,不用自己瞎编哈。
2. 做个变量表,一目了然
变量表一定要建!我见过不少学员图省事不建,后面查地址的时候翻半天程序,浪费时间还容易错。把刚才DB块里的变量导进去,备注写清楚用途,比如“正转启动”“反转启动”,后续跟触摸屏关联的时候直接对照就行。
3. 在OB1主程序写正反转互锁程序
这步是核心逻辑,咱们就做最经典的电机正反转控制。拖拽触点和线圈的时候,一定要把互锁加上——我每次演示都会特意指给学员看:你看这里要是不加互锁,正反转同时吸合就烧电机了,实操里这点千万要注意。
4. 关键设置:允许远程访问
这步是很多人卡壳的关键!双击CPU属性,找到“保护”里的“连接机制”,一定要把“允许从远程伙伴使用PUT/GET通信访问”勾上。我之前有个学员就是漏了这步,折腾了半小时没通,勾上之后立马就好。
5. 下载程序并监视
把程序下载到PLC里,然后打开监视模式。我习惯先手动触发一下变量,看看正反转逻辑对不对,指示灯亮不亮——先把PLC这边的问题排除了,后面跟触摸屏通信就少走弯路。
第二步:威纶通触摸屏组态配置,跟PLC搭好桥
PLC这边搞定了,就轮到触摸屏了。威纶通的组态其实很友好,跟着步骤来就行,重点是IP地址和标签要对应上。
1. 先做系统参数设置
打开EB8000软件,新建项目后先去“系统参数”里配置。设备类型选“Siemens S7-1200/S7-1500 (Absolute Addressing) (Ethernet)”,接口类型肯定是以太网。
最关键的是IP地址!必须跟PLC的IP地址在同一个网段,我这里PLC设的是192.168.0.144,触摸屏就填这个地址,填完记得点确定保存。
2. 获取标签资讯,一步到位
配置完参数后,直接点“获取标签资讯”,然后全选所有标签点确认就行。这里如果能顺利获取到,说明PLC和触摸屏的连接基本没问题了,我每次到这一步都会跟学员说“到这步就成功一半了”。
第三步:设计触摸屏画面,让操作看得见
画面设计不用太复杂,咱们做实操够用就行。主要就是放几个按钮和指示灯,然后把它们跟PLC的DB地址关联上——这步是直观体现通信成果的关键。
1. 给按钮关联DB地址
先拖三个按钮到画面上,分别改名为“正转启动”“反转启动”“停止”。重点来了,地址关联要对应好:
正转启动:PLC地址是%DB1.DBX0.0,对应威纶通就是DB1Bit0
反转启动:PLC地址是%DB1.DBX0.1,对应威纶通就是DB1Bit1
停止:PLC地址是%DB1.DBX0.2,对应威纶通就是DB1Bit2
我教的时候会让学员把这个对应关系记在纸上,填的时候对着看,避免填错。每个按钮的参数设置好后,记得点应用。
正转启动按钮参数如下:
反转启动按钮参数如下:
停止按钮参数如下:
2. 给指示灯关联地址
按钮弄好后,再拖两个指示灯,分别对应“正转运行”和“反转运行”。指示灯的地址要跟PLC里的输出地址对应上,这样PLC动作的时候,触摸屏上的灯才会亮,能直观看到运行状态。
正转运行指示灯参数如下:
反转运行指示灯参数如下:
整个画面设计完就是这样的,简洁明了,操作起来也方便:
第四步:运行演示,见证通信成功的时刻
前面的准备工作都做好了,现在就到了最激动的环节——实操演示!我每次带学员到这步,大家都盯着屏幕不敢眨眼,生怕出问题。
1. 正转启动运行
点击触摸屏上的“正转启动”按钮,你会看到触摸屏上的正转指示灯亮了,同时PLC那边的监视画面里,正转的输出也变成了“1”,电机开始正转——这时候就可以松口气了,说明正转的通信没问题!
2. 反转启动运行
先点“停止”让电机停稳,再点“反转启动”。同样的,反转指示灯亮,PLC里的反转输出也激活了,电机反转——互锁逻辑也没问题,完美!
3. 停止运行
点“停止”按钮,电机立马停转,两个指示灯都灭了,PLC里的输出也回归“0”——整个流程顺下来,通信就彻底成功了!
常见问题大合集,踩过的坑都给你填上
当然啦,实操中肯定会遇到问题,我把学员们最常问的两个问题整理出来了,附上解决办法,碰到了直接照着做就行。
问题一:在线获取标签失败,拿不到数据怎么办?
这是最常碰到的问题,别慌,手动导入标签就行,步骤也不复杂。
先去PLC的变量表左上角,点“导出”按钮,把变量导出来。我习惯导出到桌面,文件名改成“PLC变量表”,好找。
选择导出的位置和名称,确认后等着导出成功就行。
回到威纶通软件,系统参数配置还是跟之前一样:设备类型选对,IP地址填对。
这次不点“获取标签”了,直接点“导入标签”。
选择“Import Files (d;*db) Linear”这个选项,然后找到刚才PLC导出的变量表存放的位置。
全选所有标签,点确认,等着导入成功就行——这样手动导入比在线获取更稳妥,成功率更高。
问题二:DB块没有地址或没有偏移量,怎么回事?
这个问题其实是设置漏了,我第一次学的时候也碰到过,解决办法就一步:取消“优化块访问”再重新编译。
在博途软件里选中那个没有地址的DB数据块,鼠标右击,选“属性”。
在弹出的窗口里,找到“优化的块访问”这个选项,把前面的勾去掉,然后点确定。
最后再右键DB块,点“编译”,编译完成后地址就出来了,是不是很简单?
最后说两句
其实S7-1200PLC和威纶通触摸屏的DB地址通信,真的没有大家想的那么难。我带过很多零基础的学员,只要跟着这步骤一步步做,把关键的设置点记牢,基本都能一次成功。
实操的时候别怕出错,我那些学员里,反而是敢试错的人学得最快。碰到问题就对照着常见问题排查,多练两次就熟了。
如果还有其他问题,欢迎在评论区留言,我看到都会回复~ 觉得有用的话,别忘了点个赞再走呀!