PLC与PC通信
- 格式:docx
- 大小:17.25 KB
- 文档页数:2
西门子PC、PLC、MP377之间的通讯连接说明:西门子PLC与触摸屏通过DP口连接
一、MPI
1.PC下载到PLC(用PC Adapter USB传输)
在控制面板中,选择“Setting the PG/PC Interface”,打开如图1。
图1
点击属性,设置参数如图2。
如图2
在STEP 7中选择下载即可。
2.PC下载到MP377(用RS232/PPI Multi-Master Cable传输)
在MP377面板中,进入控制面板(Control Panel)中选择“Transfer”选择Channel 1 ,下面两个打勾。
在WinCC flexible中,设置参数如图3。
图3
点击传送设置,设定参数如图4。
图4
二、DP
1.PC下载到PLC
在控制面板中,选择“Setting the PG/PC Interface”,打开如图5。
图5
点击属性,设置参数如图6。
图6
2.PC下载到MP377
在WinCC Flexible软件中,选择连接,设定参数如图7。
图7
点击传送设置,设定参数如图8
图8
三、PLC与MP377DP通讯
在SETP 7中Hardware中双击打开HW Config,双击2号槽下的DP,跳出界面,如图9。
图9
点击属性(Properties),在点击新建(New),设定第二页参数如图10。
图10
设置完成,选择OK退出。
分别将SETP7和WinCC Flexible的程序下载到PLC和MP377中即可。
PLC与PC机互联通信的三种方式
plc即可编程规律掌握器:它采纳一类可编程的存储器,用于其内部存储程序,执行规律运算、挨次掌握、定时、计数与算术操作等面对用户的指令,并通过数字或模拟式输入/输出掌握各种类型的机械或生产过程。
通信方式
市面上各种类型PLC,它们各有优缺点,能够满意用户的各种需求,但在形态、组成、功能、编程等方面各不相同,没有一个统一的标准,各厂家制订的通信协议也千差万别。
目前,人们主要采纳以下三种方式实现PLC与PC的互联通信:
(1)使用目前通用的上位机组态软件,如COOLMAYhmi、组态王、InTouch、力控等,来实现PLC与PC机的互连通信。
(2)通过使用PLC开发商供应的系统协议和网络适配器,来实现PLC 与PC机的互联通信。
(3)利用PLC厂商所供应的标准通信端口和由用户自定义的自由口通信方式来实现PLC与PC机的互连通信。
PLC和一体机与PC通讯不上有下面几种状况:
(1)电脑串口坏掉,没方法使用
(2)笔记本电脑使用的USB转232,驱动没有装好
(3)电脑串口可能漏电,烧掉PLC下载爱护电阻
(4)电脑硬件上面COM口选择不正确
(5)可以通讯上,通讯不稳定,检查一下线路,更换电脑试一下
小结:PLC 没方法下载状况有多种,建议使用替换法排解故障,比如更换电脑,跟换下载线,更换PLC等。
pc网口和plc通讯不上是在工业领域常见的问题之一。
PC网口作为计算机与其他设备进行通信的重要接口,而PLC则是自动化控制系统的重要组成部分。
当两者无法建立有效的通信连接时,会影响到工业生产的正常运行。
本文将探讨的原因、解决方法以及预防措施。
一、原因分析:1. 网络设置问题:首先需要检查PC网口和PLC所连接的网络设备之间的网络配置是否正确。
例如,查看PC的IP地址、子网掩码、默认网关等信息是否与PLC在同一局域网中,并且是否互相可达。
2. 通信协议不匹配:PC网口和PLC之间进行通信时,需要使用相应的通信协议。
如果两者使用的通信协议不匹配,就无法建立有效的通信连接。
因此,需要检查PC和PLC所支持的通信协议,并确保它们一致。
3. 通信参数配置错误:通信参数是影响PC网口和PLC通信的重要因素。
通信参数包括波特率、数据位、停止位等。
如果PC网口和PLC之间的通信参数设置不一致,就无法正确传输数据。
因此,需要检查通信参数的设置是否正确。
4. 电缆连接问题:PC网口和PLC之间使用网线进行连接,如果网线接触不良或者线路断开,就无法建立通信连接。
因此,需要仔细检查网线连接是否松动或损坏。
5. 通信模块故障:PC网口和PLC之间的通信通常通过通信模块实现。
如果通信模块故障或损坏,就无法正常进行通信。
因此,需要检查通信模块的工作状态,并进行必要的维修或更换。
二、解决方法:1. 检查网络设置:首先需要确保PC和PLC在同一局域网中,并且网络配置参数正确设置。
可以通过查看IP地址、子网掩码、默认网关等信息来确认。
2. 确认通信协议:查阅PC和PLC的使用手册,确认它们支持的通信协议,并进行相应的设置。
确保PC和PLC使用相同的通信协议。
3. 配置通信参数:根据PC和PLC的通信参数要求,设置波特率、数据位、停止位等通信参数。
确保PC网口和PLC之间的通信参数一致。
4. 检查电缆连接:仔细检查网线连接是否牢固,是否存在松动或损坏的情况。
plc与pc网口通讯PLC(可编程逻辑控制器)和PC(个人电脑)之间的网口通讯是现代工业自动化领域中常见的一种通讯方式。
通过这种通讯方式,PLC和PC可以实现数据交互、监控和控制等功能。
本文将探讨PLC与PC网口通讯的原理、应用以及相关技术。
一、PLC与PC网口通讯的原理在现代工业控制系统中,PLC通常负责实时的工控任务,而PC则能提供更强大的计算能力和灵活的软件应用。
通过将PLC与PC进行网口通讯,可以实现两者之间的数据传输和操作命令的交互。
PLC与PC之间网口通讯的原理基于通讯协议。
常用的通讯协议有Modbus、OPC、Ethernet/IP等。
这些通讯协议定义了数据传输的格式、规则和交互方式,确保PLC和PC之间的通讯能够顺利进行。
二、PLC与PC网口通讯的应用1. 数据交互PLC与PC网口通讯可以实现大量数据的交互。
通过读取PLC 中的数据,PC可以实时监测设备的状态、参数以及生产工艺等信息。
同时,PC也可以向PLC发送指令,控制设备的运行状态和工艺流程。
2. 监控和控制通过PLC与PC网口通讯,PC可以担任监控中心的角色。
PC 上的监控软件可以实时显示PLC传输过来的数据,并进行数据分析和处理。
当出现异常情况时,PC可以向PLC发送报警指令或控制指令,及时采取相应的措施。
3. 数据存储与分析通过PLC与PC网口通讯,PC可以将PLC传输的数据存储起来,以便进行后续的数据分析和处理。
PC上的数据采集软件可以自动获取PLC传输的数据,并将其保存在数据库中。
这样,工程师可以通过数据分析软件进行数据挖掘和处理,发现潜在问题,并优化生产工艺。
三、PLC与PC网口通讯的技术1. 硬件设置要进行PLC与PC网口通讯,首先需要连接PLC和PC之间的网口。
通常采用的是以太网或串口通讯方式。
接下来,需要通过软件配置PLC和PC的网络参数,确保两者在同一个网络中,并分配各自的IP地址。
2. 通讯协议PLC与PC之间的网口通讯需要选择合适的通讯协议。
plc 路由器和pc机的通信问题
请问现在有两台plc,一个路由器和一个pc机,第一个问题是怎样通过路由器实现pc机和两台plc的通信?第二个问题是两台plc的i点均是i0.0开始往后延续,那么di点如何区分呢?
问题补充:
对,我的确实是交换机,说错了,交换机的话需要什么配置么?还是只配置pc和plc的ip。
第二个问题我知道了,谢谢zhangli0
最佳答案
1、你的有必要用路由器吗?交换机就可以了,如果必须要用路由器,路由器是ip段的转换用的,只要路由两端的ip段正确就可以。
2、两个plc都是i0.0,但是他们属于两个不同的cpu那么就是属于两个不同的ip地址的,在上位机的连接中需要建立两个连接,对应两个plc的ip地址,然后分别在两个连接下建立变量分别对应两个plc的i0.0地址就可以了。
PLC与电脑的通讯线焊接手顺PLC与电脑的通讯线就我已知有三种,分别是USB线、串口线和网线。
USB线的焊接不说了,就讲解串口线和网线的焊接。
串口线是PC到PLC的RS-232通讯线。
其接口接线情况如下图所示:PLC与PC之间无协议通讯通过通讯串口RS-232进行连接,笔记本电脑没有232串口,需用RS-232转USB进行连接。
新建PLC选择CJ2M-CPU35,点击在线工作,上传I\O表。
然后从右边选择I\O表和单元设置。
点击主机架选择CJIW-SCU41-V1修改单元参数,先修改显示数据组然后修改项目中的Ppart2:port settings的设定值为usersettings,之后点击确定传送。
PLC通讯设置完成,然后保持电脑与PLC通讯一致,即通讯线完成,即可连接。
、网线的通讯连接及焊接。
网线的连接方式是按照橙白橙、绿白蓝、蓝白绿、灰白灰颜色线依次连接,然后用网线压线钳压好即可。
下面是网线通讯流程。
点击新PLC1【CJ2M】变更PLC点击显示所有,选择网络类型Ethernet\IP点击设定进行详细修改,进行IP地址设定,保持与电脑IP不一样。
但是再设定之前要查找PLC是否存在IP地址。
先用USB线连接,然后自动在线,点击IO表和单元设置,再点击从PLC传送IO表点击内置端口,然后双击下面的CJ2M即现有IP为192.168.1.51,然后换用网线,进行设定。
修改为192.168.1.51点击确定选择自动在线,如果连接成功,即可。
如果连接不成功,接着做下一步修改电脑IP确定,然后在线连接即可。
还有一种情况,假如PLC里没有程序,也就是没有IP地址,我们就要用USB线下载新的IP地址,点击IO表和单元设置,然后点击内置端口\插入版。
选择CJ2M-EIP21,修改IP地址然后点击下方的传送PC到单元T,点击确定,换回网线进行下一步操作。
接下来的的操作流程和第一种情况一样,往下做即可。
4、以太网编程
采用以太网编程访问plc,其实又可以分为两种:
一种是socket接口,需要在plc里面编程进行收/发,大概是fc5/fc6吧,印象不深了,当然plc里面要定义一个connection,填好地址、端口号之类的信息,这个对于熟悉西门子工业通讯的人是很easy的事情。
Pc侧采用socket接口编程,最简单的就是vb里面的wisock控件,当然这掩盖了很多细节。
Socket编程本来就是一门艺术。
这个方法的优点应该是pc侧编程稍微简单点(相对于后一种),而且可以不局限于windows平台,因为socket接口被诸如unix支持的更好。
第二种是采用西门子的sapi接口函数,这样plc里面不需要过多的编程了,当然pc侧的编程难度就比较高了,ms只能用c来写。
为了允许PC机和工作站上的应用程序与西门子S7系列产品进行S7通讯西门子公司提供了一个SAPI-S7应用程序接口通过它可以灵活而方便地跟西门子S7系列产品进行通信。
安装SIMATIC Net软件后会在系统system32目录下生成一个s732.dll文件该动态链接库提供了大量基于WindowsNT、Window95/98、Windows3.11和MS-DOS的函数这样就使得用户解决PLC 和PC机的数据交换和数据处理问题变为可能。
通信编程包括两个部分:
(1)CP连接组态
(2)PLC与上位机通信编程。
4.1 CP连接组态
可采用step7软件或step7软件中用于工业以太网的NCMS7软件对CP进行网络组态。
通讯处理器CP可连接PCPC/PG上一般装网卡CP1613。
在Windows控制面板下的“set PC/PG”下安装所用网卡驱动程序并设协议、站号、波特率、是否为主站完成对VFDs(Virtual Field Device)和S7 connections的配置。
4.2 PLC和上位机的通讯编程
S7-300/400PLC有以下各类资源:
(1)输入点I:接收外部开关量信号
(2)输出点Q:输出给外部的开关量信号
(3)内部辅助点M:存放所需中间结果
(4)时间继电器T
(5)计数器
(6)数据块DB:存放程序数据的存储区域
(7)外设输入DI:主要接收模拟量输入信号经A/D转换
(8)外设输出DQ:给出模拟两输出值。
要读/写这些资源首先要建立PLC和PC机的连接。
4.2.1 初始化与PLC的连接
SAPI-S7应用程序接口提供的管理服务模块(Administrative Services)提供了一些可供读出配置信息和登录/退出通讯系统的函数,下面作一些简要介绍:
s7_get_device() :通过此函数用户程序可以查询所有已安装的CP的CP名。
s7_get_vfd():通过此函数用户程序可以查询任一指定CP的所有已配置的VFD。
s7_init():通过此函数用户程序可登录通讯系统。
s7_get_cref() :此函数提供了一个指向所选S7 connection名的指针。
s7_get_conn():此函数返回已登录VFD的所有S7 connection名和指向他们的指针。
s7_shut():通过此函数用户程序可退出通讯系统。
一个应用程序可以登录一个或多个CP的若干个VFD只有当应用程序登录CP及其所选的VFD
在配置期间指定给该VFD的所有连接才是有效的。
4.2.2读/写PLC内部资源
初始化与PLC的连接成功后就可以对PLC进行读写操作。
对PLC存储区即数据块DB的读写是实现监控的最基本操作。
SAPI-S7应用程序接口提供的变量服务模块(Variable Services)提供了一些读写函数由于篇幅有限现选一些经常用到的函数作一些简单介绍。
s7_cycl_read():此函数通知服务方准备对单存储单元循环读一个变量。
s7_get_cycl_read_ind():此函数接收来自服务方发送的数据。
s7_multiple_read_req():此函数通知服务方准备对多存储单元读一个或多个变量。
s7_get_multiple_read_cnf():此函数接收来自服务方的一个或多个变量的值。
s7_multiple_write_req():此函数通知服务方准备对多存储单元写一个或多个变量。
s7_get_multiple_write_cnf():此函数接收来来自服务方的执行上述写请求的结果。
需要特别注意的是:S7 300/400PLC遵循“高地址、低字节”的规律这与某些习惯用法不同。
例如在C++Builder6中变量类型为word的变量它的数据存放顺序是“低地址低字节”的规律。
因此在对所读取的数据进行操作或给PLC数据块中写数据字时要进行相应的处理。
为解决上位机不能因前台的信息处理而中断后台的监听等问题可采用多线程编程技术将对PLC内部资源的读/写功能模块交给一个后台线程来完成。
多线程编程技术能提高CPU利用率加快信息处理提高系统的实时性在由多台计算机组成的分布式实时控制系统中应用多线程技术是完全必要的。
4.2.3后台读/写线程模块部分代码
····· do {
ret = s7_receive(cp_descr&cref&orderid);
switch(ret)
{ case S7_NO_MSG: break;
case S7_INITIATE_CNF: Synchronize(my_get_initiate_cnf);
Synchronize(my_multiple_read_req); break;
case S7_MULTIPLE_READ_CNF:
Synchronize(my_get_multiple_read_cnf); Synchronize(my_multiple_read_req); break;
· ·
case S7_ABORT_IND: Synchronize(my_get_abort_ind); break; case S7_VFD_STATE_CNF: Synchronize(my_get_vfd_state_cnf);
Synchronize(my_abort); break;
case S7_VFD_USTATE_IND: Synchronize(my_get_vfd_ustate_ind);
break;
default : ····· }
}while(ret != last_event_expected)
5 总结
运用C++Builder6.0编写的PLC控制调试程序具有用户界面友好人机交互方便数据库功能强大灵活的特点具有较强的通用性和实用性。
通过调用S7通讯提供的SAPI-S7应用程序接口实现PC机与S7300/400PLC基于工业以太网的数据通讯不仅数据传输率快而且数据传输正确率高。
在对PLC控制系统的调试过程中大大缩短了调试周期提高了工作效率。
此通讯技术的实现对西门子工控产品的应用以及工业以太网的推广应用有着广泛普遍的重要意义。