工控人生

欢迎光临
我们一直在努力

在PCS7中如何通过CFC编程读取CPU时间并在WinCC中显示?

工控人生 阅读(3539) 评论(0)

在项目实施中,使用的PCS7,需要实现一个功能,其中一部分就是读取CPU的时间。这个功能实现很简单,标准库里有个块READ_CLK,也就是SFC1,直接调用它就能读到CPU的时间了。 但是我想在WinCC中以时分秒来显示,就需要进一步操作了,因为这个块读到的时间不能在WinCC中调用中被调用。 方法一: 1、新建一个D…

在WinCC中使用脚本进行二次确认

工控人生 阅读(6790) 评论(0)

在WinCC做了一个按钮,用来生成一个脉冲清零累积量,这个功能我直接做成了按钮,如:点鼠标左键变量置1,松开鼠标左键变量置0。这个功能逻辑没有问题,但有一定可能性造成鼠标误点,因为在鼠标指针刚好在这个按钮上,碰了一下鼠标键,这个置1清零的操作就下去了。 想着还是做一个二次确认的对话框,最简单的方法还是利用按钮通过C脚本…

PCS7升级的完善与补充

工控人生 阅读(2618) 评论(0)

前段时间,因为升级PCS项目,写了一篇《我是如何升级PCS7项目的》的文章,在后续的观察中发现,Blocks里可能还会残留老版本的FB、FC块之类的,虽然不影响使用,但为了彻底清理老版本中残留的旧块,全部使用新块,在上篇文章的基础上,最好按下面的方法,再来一次“大清洗”。 1、在9.0环境下打开移植过来的老项目,该项目…

西门子400CPU通过PUT与GET方式与1200/1500PLC进行通讯

工控人生 阅读(5742) 评论(0)

西门子的1200/1500小型PLC在编程完成后,可以配置并生成GSD文件,将此GSD文件导入到400CPU的硬件组态中就可以进行通讯,这个方法是最简单的。 但如果没配置GSD文件,400CPU如何与1200/1500PLC进行通讯呢?此时就需要使用PUT和GET方法来进行处理了。下面记录下具体的实现过程。 1、在40…

PCS7项目从7.1升级到8.2问题汇总

工控人生 阅读(3497) 评论(2)

Q1:编译报错:“The called block FB1030 does not correspond to the called FC1103.” 根本原因:由于使用的是Cemat库,在该库中,SYSPLC00系统Chart中有3个FC的编号发生变化:V7版本中FC1102(OB1_SYS1)、FC1103(C_O…

在WinCC中利用触发器控制C脚本将一个内部变量写入到另一个变量

工控人生 阅读(3530) 评论(0)

在前文中提到使用VB脚本,利用触发器,实现将一个中间变量写入到另一个变量中,以方便调用。用全局C脚本也可以实现同样的功能。体实现方法如下: 1、打开C脚本编辑器: 2、在Global action上右键点击新建一个全局动作: 3、写入如下C脚本,在编译没问题后,命名保存这个全局C动作: SetTagFloat(“P_P…

在WinCC中利用触发器控制VB脚本将一个内部变量写入到另一个变量

工控人生 阅读(4491) 评论(0)

Wincc通过OPC读取了一个变量,这个变量属于WinCC的内部变量,如果我要在CFC程序中调用这个变量参数来进行计算,是无法直接调取的。要实现CFC调用WinCC OPC服务读来的变量,可以使用VB脚本来实现,具体实现方法如下: 1、新建动作(Action):打开WinCC的全局脚本中的VB脚本编辑器,新建一个动作(…

WinCC如何记录模拟量一段时间内的平均值?

工控人生 阅读(4282) 评论(0)

要实现这个功能其实只需要利用WinCC的归档功能就可以很简单实现,具体方法步骤如下; 1、将要记录平均值的模拟量归档,如下图: 2、设置归档参数,只有涉及3个参数:采集周期(Acquisition cycle)、归档同期(Archiving/display cycle)、处理方式(Processing),采集同期一般可…

PCS7批量更新或批量安装GSD文件时假死怎么办?

工控人生 阅读(1963) 评论(0)

在使用PCS7时,时常遇到在硬件组态中批量更新或是批量安装GSD文件时,会经常假死,一直卡在安装GSD界面,也没有任何提示,程序进程不再执行。 遇到这种情况时,最简单的方法就是结束所有程序,重启电脑,重启完成后,不要开启任何程序,直接打开如下执行文件进行更新或是安装GSD文件: C:\Program Files (x8…

在WinCC中如何通过一个按钮实现开关操作?

工控人生 阅读(7921) 评论(3)

在WinCC中,如何实现这样一个简单的功能:通过一个按钮,将一个bool型变量,点击一次取反,再点击一次再次取反,通俗一点讲,就是点击一次开,再点击一次关。 实现这个功能其实很简单,只需要在这个按钮中通过使用简单的脚本就能实现,可以使用C脚本也可以使用VB脚本,在这里,我将两个脚本都贴出来,方便学习。 VB脚本: Di…