浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
6SL3120-1TE21-8AD0
发布时间:2023-10-26

测试案例:在hmi上输入两个整数(X1,X2)求和并将结果(SUM)在HMI上输出(案例相对简单,适合新手练习,希望大老路过时也不忘留下点评)

说明:

软件:TIA Prtal V15.0

1、 新建立一个项目,在TIA Portal项目中创建plc站(以S7-1214 DC/DC/DC为例),并添加一个通讯模块CM1243-5用于和HMI的DP 通讯,设置好通讯模块站地址和传输率

2、 在TIA Portal中创建HMI站(以KTP1200 Basic DP为例),并建立HMI Connection,设置好站地址和传输率(和PLC站地址不可相同,但是传输率保持一致)

1_PLC_HMI Connection.png

3、 打开HMI站,在画面上创建如下控件,如图:

三个I/O域,其中两个作为整数输入,一个作为结果输出;

三个文本域,分别更改文本为:X1、X2、SUM;

一个按钮,更改文本为“求和”

(如果控件拖到屏幕中发现控件属性无法编辑时,将控件的:属性->样式/设计->样式/设计设置 路径下中的“√”取消即可)

2_控件及设置.png

4、 打开PLC站,在OB1中写求和程序,如图:

3_求和程序.png

5、 在HMI中创建变量连接,如图,配置完成后,如图:

4_HMI变量创建.png

5_变量创建完成.png

6、 设置PG/PC接口,如图:

6_设置PGPC接口.png

7、 开始仿真,效果如图:

7_仿真效果.jpg

总结:

1、 在使用HMI DP 屏幕时,仿真时PG/PC接口需要设置为:S7ONLINE(STEP 7) -> PLCSIM.PROFIBUS.1,这是必须的;

2、 在仿真时,如果IO域显示的是#号,说明HMI和PLC并没有通讯上,需要检查通讯配置;

3、 仿真时,须先开启仿真HMI,再开启仿真PLC,顺序不可颠倒,否则会连接失败。

这几天做了一个程序,里面牵扯到换热量的计量及水泵的PID控制还有通讯的一些事情,现在就只谈论换热量累计问题的处理。

我这个是计算一个换热器的换热量,并做统计累计;实际部分还有数据记录,这块自己组态即可,既可以按周期传送数据到表格,也可以使用SMART的数据记录功能,在这就不一一赘述。

在做此之前参考了很多网上的论述,不过多数是以高速计数器的形式,不过计算过程原理大同小异。本程序设计是与流量计进行通讯来获取其瞬时流量,进而计算瞬时换热量,从而进行累计。

1、首先根据换热量公式

捕获.JPG

注意单位要统一,这个公式中Q单位是J,实际应是kJ,,焓差大部分是以kJ/kg来计算的,毕竟J这个单位太小了。时间单位也需要换一下,我这循环中断是100ms的,所以有一步需要除以36000

焓差根据进出口的焓值相减即可,焓值根据介质的表格在Excel或者使用matlab拟合曲线获取公式即可。本例程介质是水。

换热量累积.pdf

大家可以看一下,做一个参考;*后有单位换算的处理

西门子S7-200 SMART逻辑运算指令按照操作类型可以分为四种:取反指令、逻辑与指令、逻辑或指令和逻辑异或指令。如下图所示,四列对应四种操作类型:

逻辑运算指令按操作类型可分为四种
逻辑运算指令按操作类型可分为四种

S7-200 SMART逻辑运算指令按照操作数长度可以分为三种:字节逻辑运算指令、字逻辑运算指令、双字逻辑运算指令。如下图所示,三行对应三种操作数长度类型:
逻辑运算指令按操作数长度可分为三种
逻辑运算指令按操作数长度可分为三种

字节逻辑运算指令是对单字节数据进行逻辑操作,其操作数为八位无符号数。
字节逻辑运算指令
字节逻辑运算指令

字逻辑运算指令是对字数据进行逻辑操作,其操作数为十六位无符号数。
字逻辑运算指令
字逻辑运算指令

双字逻辑运算指令是对双字数据进行逻辑操作,其操作数为三十二位无符号数。
双字逻辑运算指令
双字逻辑运算指令

下面来介绍不同操作类型的逻辑运算指令。取反指令将输入端IN操作数的二进制数逐位取反,并将结果送到输出端OUT中,例如将VW0中的数据逻辑取反后送到MW10,可以发现,执行逻辑取反指令后,每一位由0变为1、1变为0。

逻辑取反指令

逻辑与指令将输入端IN1、IN2两个操作数的对应位执行“与”运算,并将结果送到输出端OUT中,例如将VB1、VB2中的数据逻辑与后送到MB0中,可以发现,执行逻辑与运算指令后,如果两个操作数的对应位都为1,则运算结果的对应位为1,否则为0。
逻辑与指令
逻辑与指令

逻辑或指令将输入端IN1、IN2两个操作数的对应位执行“或”运算,并将结果送到输出端OUT中,例如将VB1、VB2中的数据逻辑或后送到MB1中,可以发现,执行逻辑或运算指令后,如果两个操作数的对应位都为0,则运算结果的对应位为0,否则为1。
逻辑或指令
逻辑或指令

逻辑异或指令将输入端IN1、IN2两个操作数的对应位执行“异或”运算,并将结果送到输出端OUT中,例如将VB1、VB2中的数据逻辑异或后送到MB2中,昌晖仪表可以发现,执行逻辑异或运算指令后,如果两个操作数的对应位不同,则运算结果的对应位为1,否则为0。
逻辑异或指令
逻辑异或指令

下面将通过一个实例来说明逻辑运算指令在程序中的使用方法。要求将VW2和VW4中的数据进行逻辑与后,送到VW6。首先昌晖仪表双击电脑桌面上的STEP7-Micro/WIN SMART图标,打开编程软件,从指令树的位逻辑中选择一个常开触点拖放到程序编辑器的程序段1中,输入地址I0.0,从指令树逻辑运算指令中选择字与指令拖放到常开触点后,在IN1处输入地址VW2,在IN2处输入地址VW4,在OUT处输入地址VW6,这样一个简单的逻辑运算指令的应用程序就完成了。
逻辑运算指令应用实例
逻辑运算指令应用实例

将应用程序编译下载到S7-200 SMART plc。单击菜单中的下载按钮,在打开的通信对话框中选择要访问的CPU,单击确定进行下载,下载完成后关闭对话框。查看程序的运行情况,单击PLC菜单下的运行按钮,运行项目,单击调试菜单下的程序状态按钮,在线观察程序的执行情况。在状态图表中输入地址VW2,格式选择十六进制。选中VW2单元格按回车键,地址列自动递增,添加地址VW4和VW6,格式和上一行相同。
在线观察程序执行
在线观察程序执行

单击状态图表工具栏中的状态图表按钮,可以看到VW2、VW4和VW6的当前值都为0,在新值列中分别输入十六进制3456和十六进制00FF,单击状态图表工具栏中的写入按钮,则VW2和VW4变为相应的值,而VW6中的值不变。
写入相应数值
写入相应数值

按下I0.0可以看到VW6的值变为十六进制0056,为VW2和VW4逻辑与的结果。
逻辑运算结果
逻辑运算结果


展开全文
优质商家推荐 拨打电话