技术论坛

 基于CSS框架的S7-1200Web页面制作

返回主题列表
作者 主题
davelyu
侠士

经验值: 1589
发帖数: 162
精华帖: 3
楼主    2019-11-08 23:58:50
主题:基于CSS框架的S7-1200Web页面制作 精华帖 

基于CSS框架的S7-1200Web页面制作

S7-1200有个web页面发布的功能,这个功能好像很少有人提及它的使用,我也只是偶尔用来监控一下PLC变量,因为打开TIA14确实有点慢。

但是这个功能绝对不是什么鸡肋,因为它可以发布用户自定义的页面,而且页面可以加载javas cript,这就使得它的功能跟火箭一样一飞冲天了,不过SIEMENS的官方文档也说了,最好不要靠这个功能来代替专业的HMI软件,毕竟它的实时性和安全性还是有待斟酌的。

但是在产品调试阶段还有测试阶段,这个功能确实很值得一用,因为它很方便实现也很容易让不懂PLC系统的测试人员无门槛上手,毕竟打开浏览器这个操作人人都会。

实现起来很简单,网上的英文文档也很多,介绍的很详细,所以这里就不详细说怎么实现了,只是说一说基于主流的CSS框架来使页面制作的更容易和更美观一些,还有就是在实际编写过程中遇到的一些问题

框架结构

在实际开始进行web功能编写前,需要先规划一下需要展示几个页面和页面的布局,这里介绍一个网站layoutit,这个完全可视化的网站可以进行拖放操作实现网页布局,布局后的html代码可以下载下来直接使用,使用的CSS框架是主流的bootstrap,可以说页面的美观程度完全不用操心,绝对主流,下面是我用它生成的一个网页结构,之后下载到PLC后,浏览器中打开的样子.


放入变量

网页结构完成后,就可以放入PLC的变量了,这里其实没什么特别要说的,变量是通过在整个html文件开头通过AWP进行所谓的声明,之后在网页中进行使用

从PLC进行读操作的变量通过

<!--AWP_Out_Variable Name='"此处填写变量名"'-->

从PLC进行写操作的变量通过

<!--AWP_In_Variable Name='"此处填写变量名"'-->

这里要注意引号的使用,如果是内存变量M,或者Q,I之类的输入输出变量,就是通过单引号外加双引号将它括起来,像这样

‘“此处填写变量名”‘

但是如果是DB块的变量,就需要像这样

‘“DataBloack名称”.变量名称’

实际的使用中,无非也就几种操作,

  • 网页端按下按钮控制PLC的变量
  • 在网页端显示PLC的某个变量
  • 网页端输入某个数字到PLC内某个变量

基本这三种操作就能实现大部分功能,其他的诸如枚举变量,数组显示我都很少用到,大家自己研究吧

网页端按下按钮控制PLC的变量

这个功能通过表单的POST方法实现

<form method="POST" action="" align="right">
 <input type="submit" value="开始测试" class="btn btn-primary btn-sm">
 <input type="hidden" name='"AI_TEST_Start_Stop"' value="1"></form>

第1,2,4行可以原封不动的敲进去,因为没有任何功能性的东西,都是一些显示和样式,只有第三行比较重要,其中name后面是PLC的变量名,value是给这个变量写入1,这个就实现了按下按钮,这个变量置1的操作,那怎么置0呢,把value改成0就行了。


在网页端显示PLC的某个变量

这个功能最简单,在需要显示变量的地方插入代码

<td class="font-weight-bold">:="200asModbusMaster_DB".ModbusMaster_6:</td>

两边尖括号的东西可以忽略,只要注意尖括号内部的代码就行,这是显示的是DB块变量,显示变量的时候可以不需要单引号,但是两端都要有冒号。


网页端输入某个数字到PLC内某个变量

这个和按下按钮控制变量的实现机制是一样的,只不过需要有个输入框

<form method="POST" action="">
 <input type="text" name='"1200asModbusSlave_DB".ModbusSlave_7'>
 <input type="submit" class="btn btn-success btn-sm" value="输入700"></form>

可以看到第2行type是text,这就是那个输入框,这里面的数值是赋给name的,name后面的变量就是PLC里面的变量,这里需要有单引号,第三行是通过一个按钮实现提交动作,也就是按下按钮后,1200asModbusSlave_DB”.ModbusSlave_7就写入你输入的那个值了


图形显示

再来说一种,有些时候希望一个Bool变量不是单纯的在网页端显示1或者0,而是能用图形来进行显示,这个也是可以实现的

<img src='Images/Lamp0:="TestFinished":.png' />

这个HTML代码正常的样子其实是这样的

<img src='Images/Lamp00.png' />或者<img src='Images/Lamp01.png' />


发现一些端倪了吧,其实就是用Bool变量来替换Lamp0x后面的这个x,0的时候就是Lamp00.png,1的时候就是Lamp01.png,这两张图片是这样的


最后是这个样子的

原文链接
百度网盘链接,提取码:xkoa

个人微信公众号 "iLearning爱学习",头像就是公众号二维码
龙云浪子
奇侠

经验值: 8501
发帖数: 884
精华帖: 8
1楼    2019-11-09 07:09:04
主题:回复:基于CSS框架的S7-1200Web页面制作

有技术含量的精彩好帖!

个体职业者。
NPOVEC
侠圣

经验值: 3012
发帖数: 362
精华帖: 4
2楼    2019-11-09 07:09:44
主题:回复:基于CSS框架的S7-1200Web页面制作


访问Web服务器确实很方便,不过不怎么会编写HTML!

我家牛
奇侠

经验值: 9086
发帖数: 2334
精华帖: 30
3楼    2019-11-09 08:10:31
主题:回复:基于CSS框架的S7-1200Web页面制作

实时性太差 了,好几秒。默认不打开wed服务器的。需要自己手动打开。

学习ing!学习!
周杰伦
至圣

经验值: 13746
发帖数: 2032
精华帖: 16
4楼    2019-11-09 09:03:29
主题:回复:基于CSS框架的S7-1200Web页面制作

西门子还是出一个web编辑器吧,拖拽把页面编辑好。

工控毁我青春!
davelyu
侠士

经验值: 1589
发帖数: 162
精华帖: 3
5楼    2019-11-09 09:11:39
主题:回复:基于CSS框架的S7-1200Web页面制作

使用Javas cript脚本后,实时性真不错,我现场测试过,但是仅限于展示数据,用于实时控制还是算了吧

个人微信公众号 "iLearning爱学习",头像就是公众号二维码
www123456
至圣

经验值: 12234
发帖数: 2431
精华帖: 86
6楼    2019-11-09 09:12:54
主题:回复:基于CSS框架的S7-1200Web页面制作

客户端不用装工业软件了,普通电脑带IE浏览器就能监控plc,有的场合还是比较适合的,比如MES,ERP场合,不用花费时间去做硬件驱动,能实现自动化工程与IT技术很好的融合。

davelyu
侠士

经验值: 1589
发帖数: 162
精华帖: 3
7楼    2019-11-09 09:15:47
主题:回复:基于CSS框架的S7-1200Web页面制作

没错,我目前不要求实时性的现场就是这么干的

个人微信公众号 "iLearning爱学习",头像就是公众号二维码
www123456
至圣

经验值: 12234
发帖数: 2431
精华帖: 86
8楼    2019-11-09 09:19:31
主题:回复:基于CSS框架的S7-1200Web页面制作

无线网络中,用手机,平板的浏览器也很方便采集现场数据。

yzs
侠圣

经验值: 3480
发帖数: 441
精华帖: 7
9楼    2019-11-09 09:36:37
主题:回复:基于CSS框架的S7-1200Web页面制作

好帖要顶,学习了!部分图片看不到,不知道什么原因

yming
至圣

经验值: 127287
发帖数: 21996
精华帖: 825
10楼    2019-11-09 12:08:39
主题:回复:基于CSS框架的S7-1200Web页面制作

楼主探索1200WEB功能。赞一个!


不过,HTML、Javas cript、CSS只能显示“静态数据”的页面。对于PLC来说,网络负荷是很小的。

页面程序只是放在装载存储器中,用户(客户端)有连接时,调用;发送给客户端。(1200可是预留30个连接呢。)

用户客户端,就是浏览器,浏览器本质上是个可交互的“语句”执行器;它是逐条解释执行的。“语句”是非编译的,他人可见的。在http连接下,不是安全的。所以,工业环境,应该使用https的安全连接。


事实上,对于当今HTML5,客户端的每个页面,具有5M的空间。可以存储不少数据,用于一定时间段的“趋势”显示。只要你会写JS,就可以在浏览器上显示“历史”。


HTML、Javas cript、CSS框架写出来的页面,最大问题是数据刷新!

每次刷新,都要WEB服务器传送一遍整个页面!当刷新速度快时,页面是闪烁的。按钮是无法操作的。


所以,要想在后台交互数据,要学习使用JSON。

学而时习之,不亦说乎?温故而知新,不亦乐乎?
davelyu
侠士

经验值: 1589
发帖数: 162
精华帖: 3
12楼    2019-11-09 12:49:58
主题:回复:基于CSS框架的S7-1200Web页面制作

调用JS的也正在写,写完发上来

个人微信公众号 "iLearning爱学习",头像就是公众号二维码
不断攀登
至圣

经验值: 12543
发帖数: 1843
精华帖: 0
14楼    2019-11-11 08:40:39
主题:回复:基于CSS框架的S7-1200Web页面制作

不错 学习了。

邮箱 yongquancun@126.com
yzm_cumt
至圣

经验值: 18275
发帖数: 2653
精华帖: 14
15楼    2019-11-11 14:59:54
主题:回复:基于CSS框架的S7-1200Web页面制作

不好意思,图片怎么全挂了

sometimes you have to be your own hero!
ZD_JY
至圣

经验值: 13056
发帖数: 1080
精华帖: 8
16楼    2019-11-11 15:30:52
主题:回复:基于CSS框架的S7-1200Web页面制作

图好像不能看了,怎么回事啊?

做最好的自己!活出自我!
davelyu
侠士

经验值: 1589
发帖数: 162
精华帖: 3
17楼    2019-11-11 20:54:09
主题:回复:基于CSS框架的S7-1200Web页面制作

原文地址

https://www.yuque.com/docs/share/6e1b9546-f51c-4aad-980d-0d4905ac48b5#

个人微信公众号 "iLearning爱学习",头像就是公众号二维码
yecao2006
至圣

经验值: 18037
发帖数: 1524
精华帖: 2
18楼    2019-11-12 09:19:12
主题:回复:基于CSS框架的S7-1200Web页面制作

这个功能还是不错的,学习了。

我回来了!继续努力!
Ready_OK
至圣

经验值: 15530
发帖数: 1735
精华帖: 0
19楼    2019-11-12 09:23:51
主题:回复:基于CSS框架的S7-1200Web页面制作

确实有技术含量的精彩好帖!

值的收藏!

海纳百川,厚德务实!
Ready_OK
至圣

经验值: 15530
发帖数: 1735
精华帖: 0
20楼    2019-11-12 09:25:53
主题:回复:基于CSS框架的S7-1200Web页面制作

 连看三遍!

海纳百川,厚德务实!
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。