LabVIEW通过以太网与西门子S7-1200PLC通信,制作你自己的WINCC
原创不易,请勿抄袭!
很多人可能听过或者用过这个软件,其实简单来说就是一个信息采集的系统,在工业中,对应的就是人机界面,类似于WINCC,INTOUCH,组态王等等,近几年在国内很火,今天和大家分享一下。
其实,建立自己的人机界面的方式有很多种,其中包括文中所讲的Labview,除此之外作者还使用过VB运用prodave驱动或者Libnodave驱动连接PLC数据制作画面,也非常好用。都是非常好用且有趣的应用,而且使用这些小众化的方式可以使得编出来的人机界面很高大上,最重要的是没有刻苦学习过的人无法更改或者判断故障,也就是不可替代性!搞工控的都知道不可替代性代表了什么,尤其是在每年数万电气自动化毕业生就业的前提下。
除了上述的目的,我觉得对于这些应用,一般的工控人员来讲只需要简单了解,需要用的时候再去研究学习即可,毕竟自动化知识不是纸上谈兵,没有实际应用再好的学生也学不来。
好吧,开始我们今天的案例!
一 概述
西门子S7-1200 PLC支持多种协议通过以太网通讯方式,如OPC、TCP、S7、MODBUS-TCP等。TCP方式相比其它协议,具有更多的灵活性,更快的数据响应等优点,本人即介绍LabVIEW通过TCP方式与S7-1200 PLC通信。
S7-1200 PLC的TCP通信方式,称之为“开放式用户通讯”,通过以太网发送或读取数据。
二 测试硬件和软件
硬件包括:
博途S1200PLC:CPU 1215C和PC一台;
软件包括:
博途 TIA V14 SP1和LabVIEW 2012 或以上版本
编程思路分为两步;
1PLC编程:配置PLC --> 添加发送和接收数据块 --> 发送数据程序 --> 接收数据程序 --> 编译下载
2LabVIEW编程:创建TCP连接 --> 接收或发送数据 --> 关闭连接
三 操作步骤
3.1 CPU配置
1 打开 TIA Portal,创建项目,添加CPU为1215C。
2 双击“设备组态”,切换到“设备视图”,点击CPU,右键选择属性。
3 在常规栏,选择PROFINET 接口[X1]/以太网地址属性,设置CPU的IP地址,本例设置为 192.168.0.10,如下图所示:
4 在常规栏,选择系统和时间存储器属性,启用系统存储器字节和时钟存储器字节,如下图:
5 如果传输的数据量大,且实时性要求高,可选择通信负载属性,把由通信引起的循环负荷由默认为20%,提高到 50%。
3.2 添加数据块
1 添加发送数据块。该数据块用于存储PLC向LabVIEW发送的数据。点击程序块/添加新块,在打开的对话框中选择数据块,输入名称,如 PlcSendData ,类型可选择全局DB。注意如果不一次性传输大量数据,可以直接使用PLC变量,单次发送一个数据,不需要创建数据块。
2 打开该数据块PlcSendData ,添加数据,名称如 ArySendData,选择数据类型Array of Byte,即字节数组,数组长度设置为10。
3 修改数据块属性。选中数据块PlcSendData ,右键属性,在属性栏去掉优化的块访问,以支持绝对寻址模式。
4 添加接收数据块。该数据块用于存储LabVIEW向PLC发送的数据。数据块名称PlcRecvData,数据类型Array of Byte,操作方法同步骤1、2、3。
3.3 编写发送数据程序
1 打开 Main 程序
2 添加指令通信/开放式用户通信/TSEND_C到程序段1,调用选项的数据块名称采用默认。
3 配置 TSEND_C 的通讯参数。选中 TSEND_C,右键属性,切换到组态页,选择连接参数属性。伙伴项选择未指定,连接数据选择新建,系统会自动创建一个连接数据 ,如PLC_1_Send_DB。输入伙伴的IP地址,如192.168.0.12。由伙伴主动建立连接 ,PLC的端口可保留默认的2000。连接类型为TCP,连接ID采用默认值。(注:所谓伙伴即与PLC通信的另一方,可以为上位机PC、HMI等)
4 配置 TSEND_C 的输入输出。TSEND_C在检测到参数 REQ 上升沿时执行发送作业,因此每次发送数据时,都应在REQ上产生一个脉冲,此处为了简便,调用系统时钟 Clock_10Hz(每秒10次),周期性的发送数据。参数DATA为待发送的数据,此处调用数据块 PlcSendData。注意 DATA采用纯符号寻址时,发送 LEN 应设置为0,而采用绝对寻址时,应设置为实际发送数据的长度。通讯状态参数 DONE\BUSY等按需要连接。
3.4 编写接收数据程序
1 添加指令通信/开放式用户通信/TRCV_C 到程序段2,调用选项的数据块名称采用默认。
2 配置 TRCV_C 的通讯参数。选中 TRCV_C,右键属性,切换到组态页,选择连接参数属性。伙伴项选择未指定,连接数据选择3.3 步骤自动创建的数据,如PLC_1_Send_DB,切记不要选择新建 (此例的通讯连接为自动创建,因此发送与接收共用一个连接,必须保持一致才能正常通讯)。
3 配置 TRCV_C 的输入输出。TRCV_C在检测到参数 EN_R 为1时启动接收。参数DATA为数据接收区,此处调用3.2步骤所创建的数据块PlcRecvData。注意DATA采用纯符号寻址时,接收 LEN 应设置为0,而采用绝对寻址时,应设置为实际发送数据的长度。通讯状态参数 DONE\BUSY等按需要连接。具体参数信息请查看帮助文档。
4 为了判断PLC是否正确接收到LabVIEW所发送的数据,可通过以下两种方法测试。
a、将第3.3 的数据发送区设置为与数据接收区相同的数据块,即 PlcRecvData,使PLC把接收到数据发送回LabVIEW。
b、添加 MOVE 指令采用数据移动的方法完成此功能,如下所示:
3.5 编写LabVIEW程序
1) 创建TCP连接TCP OpenConnection。输入PLC的IP地址 192.168.0.10 和端口号2000。
2) 读取数据TCP Read。输入读取长度10(PLC程序的发送数据块长度为10个字节)。
3) 发送数据TCP Write。
4) 关闭连接TCP Close Connection。
5) 前面板如下。点击 Write,把数据WriteData写入PLC,同时PLC把该数据发回LabVIEW,通过 ReadData显示。如果ReadData数据与WriteData一致,即通信正常。
3.6 下载程序,连接测试
哎呀妈呀,累死我了,大家点个赞支持我一下呗!
喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!
Wincc Labview Intouch谁才是组态软件的扛把子
hello,大家好,我是大千UI工场,组态软件收费都不菲,动辄几万,十几万,所以必须谨慎选择,这篇文章重点看看这三款著名的组态软件该如何选择。
一、Wincc的介绍和特点
WinCC是西门子公司(Siemens)开发的一款人机界面(HMI)软件,用于监控、控制和可视化工业自动化系统。WinCC是一个功能强大的工业自动化软件平台,提供了丰富的功能和工具,适用于各种工业领域和应用场景。
以下是WinCC的详细介绍:
功能特点:监控和控制:WinCC可以实时监控和控制工业过程,显示生产数据、报警信息和操作界面。可视化:提供丰富的图形化界面和数据可视化工具,方便用户了解和操作工业过程。数据采集与存储:支持数据采集、存储和历史数据分析,帮助用户进行生产数据管理和优化。报警管理:支持报警事件的管理和处理,及时通知操作人员并采取相应措施。跨平台支持:支持多种操作系统和设备,包括PC、工控机、移动设备等。扩展性:提供丰富的插件和扩展功能,支持用户定制化和功能扩展。应用领域:制造业:用于生产线监控、设备控制和生产数据管理。工艺控制:用于化工、制药、食品等工艺控制系统。水处理:用于水处理厂、污水处理厂等水处理系统。能源管理:用于能源监测、节能管理和能源优化系统。其他行业:适用于各种工业自动化系统和智能制造领域。版本介绍:WinCC Professional:适用于中小型应用场景,提供基本的监控和控制功能。WinCC Advanced:适用于大型应用场景,提供更丰富的功能和扩展性。WinCC Runtime Advanced:用于运行时环境,支持在工控机和工控设备上运行。WinCC Unified:最新版本,提供更现代化的用户界面和功能,支持更多的设备和操作系统。总的来说,WinCC是一款功能强大的工业自动化软件,提供了丰富的监控、控制和可视化功能,适用于各种工业领域和应用场景。企业可以通过使用WinCC来提高生产效率、优化生产过程,实现智能制造和工业4.0的目标。
二、Labview的介绍和特点
LabVIEW是由美国国家仪器公司(National Instruments)开发的一款图形化编程环境和开发工具,主要用于数据采集、控制系统设计、仪器控制、信号处理、虚拟仪器等领域的应用开发。LabVIEW以其直观的图形化编程界面和丰富的功能模块而闻名,被广泛应用于科学研究、工程设计、实验室测试等领域。
以下是LabVIEW的详细介绍:
图形化编程环境:LabVIEW采用图形化编程语言G(Graphical Programming Language),用户通过拖拽和连接图形化元件来编写程序,而不是传统的文本编程。图形化编程使得程序结构更直观、易于理解,并且可以更快速地进行开发和调试。功能模块:LabVIEW提供了大量的功能模块(VI,Virtual Instruments),包括数据采集、数据处理、仪器控制、信号分析、图形绘制等,用户可以通过组合这些模块来构建自己的应用程序。用户还可以编写自定义的功能模块,以满足特定的需求。应用领域:数据采集与分析:LabVIEW广泛应用于实验室测试、数据采集与分析、传感器监测等领域。控制系统设计:LabVIEW可用于设计和实现各种控制系统,如机器人控制、自动化生产线等。仪器控制:LabVIEW支持各种仪器的控制和数据采集,用于科学研究和工程实验。虚拟仪器:LabVIEW可以模拟各种仪器和设备,用于仿真和测试。版本介绍:LabVIEW Base版:提供基本的编程和数据处理功能,适用于初学者和简单的应用场景。LabVIEW Full版:提供更多的功能模块和工具,适用于复杂的应用开发和工程项目。LabVIEW Real-Time:用于实时系统开发,支持实时数据采集和控制。LabVIEW FPGA:用于FPGA编程,支持硬件加速和高性能计算。LabVIEW是一款功能强大的图形化编程环境,适用于各种数据采集、控制系统设计、仪器控制等领域的应用开发。它的直观的编程界面和丰富的功能模块使得用户可以快速高效地开发各种应用程序,提高工作效率和项目质量。
三、Intouch的介绍和特点
InTouch实际上是Wonderware公司的产品,Wonderware是施耐德电气(Schneider Electric)旗下的一个品牌。以下是关于InTouch的重新介绍:
InTouch是Wonderware(施耐德电气旗下品牌)开发的一款人机界面(HMI)软件,主要用于监控、控制和可视化工业自动化系统。InTouch提供了丰富的功能和工具,使得用户可以轻松地创建交互式的图形化界面,实时监控生产过程并进行操作控制。以下是InTouch的介绍和特点:
图形化界面设计:InTouch提供了直观、易用的图形化界面设计工具,用户可以通过拖拽、放置和连接图形元素来创建自定义的监控界面。用户可以设计各种图表、趋势图、报警信息、按钮等元素,以实时展示生产数据和系统状态。实时数据监控:InTouch支持实时数据采集和显示,用户可以监控生产过程中的各种数据指标、参数和状态。用户可以设置报警和事件触发条件,及时响应异常情况并进行相应的操作控制。数据分析和报表:InTouch提供了数据分析和报表功能,用户可以对历史数据进行分析、统计和生成报表,帮助用户了解生产过程的趋势和性能。用户可以通过报表和图表展示数据,进行生产效率评估和改进。跨平台支持:InTouch支持多种操作系统和平台,包括Windows、iOS和Android等,用户可以在不同设备上实现远程监控和操作。InTouch还支持Web访问,用户可以通过Web浏览器实现远程监控和操作。扩展性和集成性:InTouch具有良好的扩展性和集成性,可以与各种工业设备、控制系统和数据库进行无缝集成。用户可以通过自定义脚本、插件和接口来扩展InTouch的功能,满足特定的需求和应用场景。InTouch是一款功能强大的人机界面软件,适用于工业自动化系统的监控和控制。其直观的图形化界面设计工具、实时数据监控、数据分析和报表功能、跨平台支持以及扩展性和集成性等特点,使得用户可以快速建立可视化的监控系统,实现生产过程的实时监控和优化管理。
四、Wincc和Labview该如何选
WinCC和LabVIEW是两款不同类型的软件,适用于不同的应用场景。以下是它们的主要特点和适用范围,以帮助您做出选择:
WinCC(Siemens WinCC):WinCC是西门子(Siemens)公司开发的人机界面(HMI)软件,用于监控和控制工业自动化系统。WinCC提供了直观的图形化界面设计工具,支持实时数据监控、报警处理、历史数据记录和报表生成等功能。WinCC适用于需要实时监控和控制生产过程的工业自动化系统,如工厂自动化、过程控制等领域。LabVIEW(National Instruments LabVIEW):LabVIEW是美国国家仪器(National Instruments)公司开发的图形化编程环境软件,用于数据采集、信号处理、控制系统设计等领域。LabVIEW提供了直观的图形化编程界面,用户可以通过拖拽、连接图形元素来设计和实现各种控制系统和数据处理应用。LabVIEW适用于需要进行数据采集、信号处理、控制算法设计和实时系统开发的领域,如实验室研究、测试测量、自动化控制等领域。根据以上特点,您可以根据具体的需求和应用场景来选择合适的软件:
如果您需要实时监控和控制工业自动化系统,可以选择WinCC。如果您需要进行数据采集、信号处理、控制算法设计等工作,可以选择LabVIEW。需要注意的是,WinCC和LabVIEW在功能和应用领域上有一定的重叠,因此在实际选择时,可以根据具体的需求和熟悉程度来考虑。如果您对两款软件都有一定了解,可以根据具体的项目需求和个人偏好来选择合适的软件。
五、Wincc和Intouch该如何选择
WinCC和InTouch都是工业自动化领域常用的人机界面软件,具有各自的特点和优势。以下是它们的主要特点和适用场景,以帮助您做出选择:
WinCC(Siemens WinCC):WinCC是西门子(Siemens)公司开发的人机界面(HMI)软件,用于监控和控制工业自动化系统。WinCC提供了直观的图形化界面设计工具,支持实时数据监控、报警处理、历史数据记录和报表生成等功能。WinCC适用于需要实时监控和控制生产过程的工业自动化系统,如工厂自动化、过程控制等领域。WinCC具有良好的集成性,可以与西门子的PLC和其他工控设备无缝集成。InTouch(Wonderware InTouch):InTouch是Wonderware(施耐德电气)公司开发的人机界面(HMI)软件,用于监控和控制工业自动化系统。InTouch提供了直观的图形化界面设计工具,支持实时数据监控、报警处理、数据分析和报表生成等功能。InTouch适用于需要快速搭建可视化监控系统的应用场景,如工厂监控、设备监控等领域。InTouch具有跨平台支持和扩展性,可以在不同设备和平台上实现远程监控和操作,并支持与各种设备和数据库的集成。根据以上特点,您可以根据具体的需求和应用场景来选择合适的软件:
如果您需要与西门子的PLC和其他西门子工控设备无缝集成,并且对实时监控和控制有较高要求,可以选择WinCC。如果您需要快速搭建可视化监控系统,并且需要跨平台支持和灵活的扩展性,可以选择InTouch。需要注意的是,WinCC和InTouch在功能和应用领域上有一定的重叠,因此在实际选择时,可以根据具体的项目需求、技术支持和团队熟悉程度等因素来考虑。如果您对两款软件都有一定了解,可以根据具体的需求和项目情况来选择合适的软件。
六、Intouch和Labview该如何选
InTouch和LabVIEW都是在工业自动化领域广泛应用的软件,但它们的功能和应用场景有所不同。以下是它们的主要特点和适用领域,以帮助您做出选择:
InTouch(Wonderware InTouch):InTouch是Wonderware(施耐德电气)公司开发的人机界面(HMI)软件,用于监控和控制工业自动化系统。InTouch提供直观的图形化界面设计工具,支持实时数据监控、报警处理、数据分析和报表生成等功能。InTouch适用于快速搭建可视化监控系统的应用场景,如工厂监控、设备监控等领域。LabVIEW:LabVIEW是National Instruments(现为NI公司)开发的图形化编程软件,用于进行数据采集、信号处理、控制算法设计和实时系统开发等工作。LabVIEW提供了直观的图形化编程界面,用户可以通过拖拽、连接图形元素来设计和实现各种控制系统和数据处理应用。LabVIEW适用于需要进行数据采集、信号处理、控制算法设计和实时系统开发的领域,如实验室研究、测试测量、自动化控制等领域。根据以上特点,您可以根据具体的需求和应用场景来选择合适的软件:
如果您需要快速搭建可视化监控系统,并且对实时监控和控制有较高要求,可以选择InTouch。如果您需要进行数据采集、信号处理、控制算法设计和实时系统开发等工作,并且希望使用图形化编程界面来简化开发流程,可以选择LabVIEW。需要注意的是,InTouch和LabVIEW在功能和应用领域上有一定的差异,因此在实际选择时,可以根据具体的项目需求、技术支持和团队熟悉程度等因素来考虑。如果您对两款软件都有一定了解,可以根据具体的需求和项目情况来选择合适的软件。
相关问答
plc设计需要哪些软件?
一、西门子系列1、西门子S7-200系列plc编程软件STEP_7_MicroWIN_V4.0_incl_SP92、西门子S7-SMART_200系列PLC编程软件STEP_7_MicroWI...
labview软件介绍?
LabVIEW是一款程序开发环境软件,类似于C和BASIC开发环境,LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。与C和BASIC一样,LabVIEW...
labview通过串口读取三菱PLC的数据时,需要其他仪器那样安装PLC的驱动程序吗?万分感激?
需要要编程的,首先调用VISA里的配置串口函数将端口、波特率、起始位、停止位等参数根据实际需求配置好,再在循环里读取或者写入数据即可,用完后关闭VISA就好了...
labview属于什么类型的工作?
这个就不好说了,LabVIEW是工程师的语言,很多领域都会用到的,它不仅仅是软件编程了。我现在从事的是测试控制行业,这就需要我们对需要测试的产品的规格的了解...
labview一套正版软件多钱……一年技术支持多钱?
如果是一整套的话大概要2W左右建议直接下载破解版本的如果是一整套的话大概要2W左右建议直接下载破解版本的
基于Windows环境与PLC相连的上位机监控操作软件用什么组态好?
这类的上位机监控软件很多。基本都大同小异。每种组态软件因行业原因,使用率也不一样。不过都是个人爱好,行业习惯而已。比如国外的组态软件常用的有原来英维...
labview应用?
LabVIEW应用领域包括:1、测试测量2、控制3、仿真,在设计机电设备之前,可以将仿真模型利用LabVIEW进行搭建,并模拟查看是否存在前期的风险4、快速开发和...
labview如何转换成c语言?
labview程序申请软件著作权无需转成C语言代码。你可以在labview内部处理得到labview程序的文本代码。操作菜单:|工具|高级|导出字符串,即可得到可用于申请软件...
labview软件的主要作用是什么?
测试测量、跨平台、快速开发。LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别...
Labview软件开发工程师是做什么的?
给你举个栗子:招聘LabVIEW软件工程师职责:1.编写LabVIEW平台下的自动化测试软件;2.编写系统技术文档和标准化资料;3.解决测试系统现场使用问题;要求:...