PC与西门子PLC 通讯实例+源代码

合集下载

西门子PC、PLC、MP377通讯连接

西门子PC、PLC、MP377通讯连接

西门子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中即可。

PC(高级语言编程)与西门子S7300400通讯方法

PC(高级语言编程)与西门子S7300400通讯方法

PC(高级语言编程)与西门子S7300/400通讯方法在实际应用过程中,某些时候可能会采用VB/DELPHI/VC等高级语言,自主编程与西门子PLC进行通讯,这类帖子、论文在网上都可以找到,在此总结一下。

1、Prodave通讯Prodave是西门子提供的一个软件包,为高级语言编程和plc通讯提供接口。

通讯接口:MPI因为MPI口是每块cpu的编程口,所以plc不需要另外添加通讯模块,这个方案就比较经济,而且prodave软件包里面附带了example和详细的说明,用起来应该比较简单和方便(本人只匆匆看过文档,没有实验过)。

这方面的资料在百度上很多。

当然,mpi的速度是有限的,如果采用普通的pc adapter连接pc和p lc,最高速度也就38.4kbps,我不知道prodave能否支持mpi卡(5611之类的话),如果可以的话速度可以达到187.5kbps。

2、串行通讯看到过一些论文,采用串行通讯的方法实现pc和plc通讯。

这种情况存在几点要求:a、需要为plc添加一块串行通讯模块,比如300的话就需要cp340或者cp341(前者便宜些);b、plc里面需要对串行通讯进行编程,其实也就是接收报文和发送报文,调用f b2/fb3(cp340的话)。

c、串行通讯的速度是有目共睹的,而且cp340或者cp341的数据吞吐量也是有限的,即报文长度是有限制的,因此个人认为通讯数据量大的话采用串行通讯就不合适了。

d、报文格式的话就比较自由,但是也应当合理,我虽然没有具体实验过,但是个人认为可以参考modbus的报文结构来编程,甚至就采用modbus的规范,不过这样的话要求编程者对pc和plc侧的modbus编程都要熟悉。

3、OPCOpc是这些年来很流行的东西,其实我很讨厌opc的安全认证的设定。

不过采用opc编程来访问plc真的是一件非常轻松惬意的事情。

你需要做的就是了解opc的结构和编程,尤其是采用vb来编写opc简直是件傻瓜化的工作当然也牺牲了很多。

PLC与PC连接设置

PLC与PC连接设置

打开西门子Step 7软件SIMATIC Manager。

在左边框里选择“SIMATIC 400 Station”,再双击右边的“Hardware”,出现下面的界面。

双击“CP 443-1”,出现“Properties – CP 443-1 – (R0/S3)”对话框,点击“Properties”按钮。

出现“Properties Ethernet interface CP 443-1 (R0/S3)”
记录好IP Address 和Subnet mask。

点击“OK”关闭当前对话框,再点击“OK”关闭上一层对话框。

回到“HW Configing…”窗口,存盘编译。

编译完成后,关闭“HW Configing…”窗口。

在扫描出来的设备里找“S7-400 CP”,记录下下面的“MAC address”。

点击“OK”。

把之前记录的IP address 和Subnet mask 填进去。

点击“Assign IP Configuration”。

等进度完成后,再点击“Close”。

再重新打开“Hardware”窗口,“properties”对话框。

确认“MAC address”是否跟前面记录的一致,如果不一致,改为之前记录的MAC地址。

改了以后,请重新存盘编译。

关闭“HW config”窗口。

回到SIMATIC Manager 窗口,左边框里点击“Blocks”。

菜单栏里点击“PLC”----“Download User Program to Menory Card”。

然后一路“OK”、“YES”。

直到PLC重启。

Simens s7-200cn PLC与PC连接教程

Simens s7-200cn PLC与PC连接教程

Siemens s7-200 cn 链接电脑和下载程序指导第一步:准备材料:西门子PLC、电脑及软件、PORT口下载线以及电线若干第二步:正确连线下载线接到PORT 0,另一端接到电脑的串口(在主机后面),PLC 220v 供电。

注意,先接好串口线电脑开机后再给PLC上电。

第三步:通电打开软V4.0 STEP 7 MicroWIN SP9,双击左侧CPU 221 REL 01.10(可能会有不同),出现下面的对话框,点击确认,然后出现一个选择对话框。

点击communications,进行选择。

在这个界面点击set PG/PC interface,进入下一个界面在这个界面里我们看到很多连接方式的选项,我们打开找到PC/PPI cable。

PPI.1,双击它,又弹出来一个对话框。

我们点击第二个选项,也就是Local Connection,它默认是USB,如果你是USB转的串口,那就选择这个,我们用的电脑自带的串口(一般台式机有,笔记本没有),所以选择COM1,然后就可以确认了。

一直确认到这个界面现在我们可以双击进行刷新了。

,扫描界面如图所示,(PS,如果速度不是9.6 Kbps需要在刚才的界面选择),扫描完成后就会出现目前连接的CPU了。

我们点击OK 在下一个界面就可以读取PLC进行确认了。

可以看到我们的类型是CPU 226CN 版本是02.01确认后就可以进行编程了。

我们写一个最简单的起保停电路,进行下载验证。

点击上面的这个按钮,点击download,跟随提示进行操作他会先把CPU设置为stop,下载完成后又设置成run。

点击DEBUG,选择START PROGRAM STATUS,可以看到我们下面的界面变成=仿真的界面了,在这个界面就可以实时观察运行的情况了。

谢谢大家。

2018-10-8。

通过OPC实现PC与西门子S7-200PLC数据通信

通过OPC实现PC与西门子S7-200PLC数据通信

下载后 , 可以使用 S E 7 Mir/ i T P 一 co N软件的“ W 查看” 功能 , 测试 P C的高 L 速计数器 是否正确读取旋转 编码 器的高速脉冲 。另外 ,7 20P c s — 0 CA — ee ss 软件带有 内置 的测 试客户端 , 用户可 以使用它来检 测 O C服务器 P 配置及 通信的正确性 。将测试 的条 目拖拽到测 试客户端 , 然后 点击在 线 按钮 使之 在线 , 如果 配置 及通 信正 确 , 显示 对应 的数据 值 , 会 并在 “ u ly 一 栏 显 示 “ od , 则会 显 示 “a ” Q ai ” t go ” 否 bd 。 4OP . C技 术 应 用 与 程 序 实现 本 文使用 了 V sa B s . iul ai 60开发位 置前端 显示 软件 。在建立 V c B 项 目之后 , 首先 为该项 目选择 引用 的 O C服务器 为 s — 0 CA cs P 7 2 0P ces 提供 的 O C服务 器。引用 的方法为 : P 在菜单 的“ 工程 ” —— “ 引用 ” 弹出 窗 口中 , 选择添加“ im n P A uo t n20 。 Se e s CD A tmai .” O o 程序 中与数据通信等有关 的编程要点 、 主要语句和注释如下: 41 .创建 O C P 窗体 , 明O C 声 P 服务器对象 OC P 服务 器的逻辑对象共包含三类对象 ( bet: P 服务器对象 O j )O C c ( P S re) O C组对 象( P Gru )O C条 目对象 ( P h m) P O C evr , P O C op ,P O C e 。O C 服务器 对象包 含着 O C 对象 , P 组对象 又包含着 O C条 目对象 。 P组 OC P O C 目对象 可由客户端 定义和维 护 , P条 是进行数据 读写的最小逻 辑单 位, 它包括值 ( a e 、 V l )质量( uly 、 u Q a t 时间标 签( i et p 三个基本属 i) Tm S m ) a 性。使用 O C P 服务器 之前 , 必须对其三类对象进行声 明, B V 语句如下 :

西门子PLC与PC连接说明

西门子PLC与PC连接说明

1、s400/s300的IP地址:xxx.xxx.xxx.xxxx
2、连接时候的网卡选择:
RealtekPLCeFE Fa……(及为所用网卡)
打开siemens进入工作界面:“选择”-“设置PG\PC接口”选择关于RealtekPLCe FE Fa……的网卡:
3、打开siemens后,首先要新建两个项目,一个留作备份,另一个用作修改的原本。

4、将PLC上载到PC的方法:新建项目,名称可以由自己定,然后删除MPI,
,卡槽数为:s400=x;s300=x(查看PLC在第几个插槽即可)
5、登录密码:######(若有密码正确输入即可)
6、点开下载到PC的程序OB1,然后在“选项”--“符号表”→“符号表”—“导入…”加入备注信息,便于解读程序。

7、待当天任务全部结束后,记得要将s400的程序固化(要将程序写入到储存卡里边,不然断电重启后在PLC里边的程序就会丢失),PLC会自动重启,会造成信息错乱(正常情况)。

S300没有必要将程序存入储存卡,不会丢失。

PC与PLC的串口通信及编程实现

PC与PLC的串口通信及编程实现

PC与PLC的串口通信及编程实现黄植功(广西师范大学物理与电子工程学院,广西 桂林 541004)摘 要:在自由口模式下,通信协议由用户自己的梯形图程序控制。

用户可以使用梯形图程序调用各种子程序,来进行接收中断、发送中断、发送指令(XMT)、接收指令(RCV)等通信控制操作。

研究了在自由端口模式下PC与S7-200型PLC之间的通信,并采用Visual Basic编程来实现上位机与下位机之间的通信。

关键词:Visual Basic;自由端口模式;PLC通信;串口通信中图分类号:TP312文献标识码:A文章编号:1003-7551(2007)03-0035-041 引言由于具有编程方法简单易学、功能强、性能价格比高、可靠性高、抗干扰能力强、体积小、能耗低、硬件配套齐全、设计调试安装维护方便等突出优点,可编程逻辑控制器(PLC)已经广泛地应用在发达国家所有的工业部门,主要应用在数字逻辑控制、运动控制、闭环过程控制、数据处理和联网通信等方面。

在联网通信方面,PLC与其他智能控制设备一起,可以组成“集中管理、分散控制”的分布式控制系统。

在这种工业控制系统中,为了避免通信各方争用通信线路,PC与PLC之间的通信一般采用主从方式,通常采用计算机(PC)作为上位机负责完成数据分析、处理和存储、设备状态显示和打印输出等功能以实现对分布在工业现场的被控制系统进行集中的实时监测与控制;PLC作为下位机使用,承担执行上位机的输出指令、现场数据采集和设备运转状态识别等任务。

本文研究了在自由端口模式下PC与S7-200型PLC之间的通信,并采用Visual Basic编程来实现上位机与下位机之间的通信。

2 PLC与PC的电缆连接和电缆的切换时间S7-200的通信接口为RS-485,PC可以采用RS-232通信接口,RS-232/PPI多主站电缆可以连接PC与S7-200型PLC,实现S7-200 CPU 与PC的通信。

由于使用RS-232/PPI电缆,因此在S7-200 CPU的用户程序中应考虑电缆的切换时间,切换时间因波特率的不同而不同,例如,如果采用9600bit/s的波特率,则电缆的切换时间为2ms,电缆上DIP开关设置为010,如果采用19200bit/s的波特率,则电缆的切换时间为1ms。

用VB6_0实现西门子PLC与PC机的串行通讯

用VB6_0实现西门子PLC与PC机的串行通讯

收稿日期:2003-01-15作者简介:敬 伟(1977—),女,重庆人,西安工业学院硕士研究生,研究方向为自动化控制、智能仪表。

用VB6.0实现西门子PLC 与PC 机的串行通讯敬 伟1,樊文侠1,涂 劲2(1.西安工业学院电子信息科学与工程系,陕西西安710032;2.重庆大学,重庆400044)摘 要:对西门子系列PLC 的通讯协议进行了详细的介绍,并以VB6.0开发系统在WINDOWS 环境下实现了PC 机与西门子系列PLC 之间的串行通讯。

文章给出了PLC 和VB6.0相关的主要程序,通过该通讯程序实现了PC 机对西门子系列PLC 的监控和控制。

同时本程序对PC 机与其他型号PLC 之间的通讯也有一定的借鉴意义。

关键词:可编程控制器;串行通讯;协议中图分类号:TP393104 文献标识码:A 文章编号:1005-3751(2003)0025-02Achieve Serial Communication betw een PC and SIEMENS Series PLC by VB6.0J IN G Wei 1,FAN Wen 2xia 1,TU Jin 2(1.Xi ’an Inst.of Tech.,Xi ’an 710032,China ;2.Chongqing University ,Chongqing 400044,China )Abstract :The communication protocol of SIEMENS series PLC is introduced and serial communication between PC and SIEMENS series PLC is achieved by VB6.0development system in windows environment.The mostly program about PLC and VB6.0is introduced and can monitor SIEMENS series PLC through PC.What ’s more ,the method of disposal can be applied with other type of PLC or sin 2glechip.K ey w ords :programmable controller (PLC );serial communication ;protocol PLC 以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PC与西门子PLC 通讯实例+源代码
此实例为PC调用西门子第三方驱动libnodave.dll,通过VB6.0编写而成,可成功从SIEMENS SL系统PLC中读取其DB数据块,input输入/output输出映像区,Marker位存储区数据.【libnodave.dll 可百度下载,或者Mail我】Private Sub Command1_Click()
Dim peer As String
peer = Form1.Text1.Text
ph = openSocket(102, peer)
If ph = 0 Then
MsgBox "Connected Falied", vbInformation, "Siemens-Hugl" Else
If ph > 0 Then '需要更换新的端口
di = daveNewInterface(ph, ph, "IFI", 0, daveProtoISOTCP, daveSpeed187k)
'建立新的连接
res = daveInitAdapter(di) '初始化适配器
If res = daveResOK Then
dc = daveNewConnection(di, 2, Rack, Slot)
'建立新的PLC连接
res = daveConnectPLC(dc) '连接PLC
If res = daveResOK Then
MsgBox "Connected Seccussfully!", vbInformation, "Siemens-Hugl"
End If
End If
End If
End If
End Sub
Private Sub Command2_Click()
If dc <> 0 Then
res = daveDisconnectPLC(dc) '断开连接
Call daveFree(dc) '释放内存
dc = 0
End If
If di <> 0 Then
res = daveDisconnectAdapter(di) '断开适配器
Call daveFree(di) '释放内存
di = 0
End If
If ph <> 0 Then
res = closePort(ph) '关闭端口
ph = 0
End If
MsgBox "Disconnected Successfully!", vbInformation, "Siemens-Hugl"
End Sub
Private Sub Command3_Click()
Dim RetCode As Long
Dim PLCTime As T_S7_PLCTime
RetCode = S7_ReadPLCTime(dc, PLCTime)
If RetCode <> daveResOK Then
MsgBox " Read PLC Time failed!", vbInformation, "Siemens-Hugl"
Exit Sub
End If
bel1.Caption = "PLC Date is " & Format(PLCTime.Jahr, "0000") & "-" & Format(PLCTime.Monat, "00") & "-" & Format(PLCTime.Tag, "00")
bel2.Caption = "PLC Time is " & Format(PLCTime.Stunden, "00") & "h" & Format(PLCTime.Minuten, "00") & "m" & Format(PLCTime.Sekunden, "00") & "s" & Format(lisekunden, "0") & "ms"
End Sub
Private Sub Command4_Click()
res = daveReadBytes(dc, daveFlags, 0, 0, 16, 0)
If res = daveResOK Then
v1 = daveGetS32(dc)
MsgBox "MD0 is " & v1
v2 = daveGetS32(dc)
MsgBox "MD4 is " & v2
v3 = daveGetS32(dc)
MsgBox "MD8 is " & v3
v4 = daveGetFloat(dc)
MsgBox "MD12 is " & v4
v5 = daveGetFloatAt(dc, 12)
MsgBox "MD12 Float is " & v5
Else
MsgBox "Error", vbCritical, "SIEMENS-Hugl"
End If
End Sub
Private Sub Command5_Click()
res = daveReadBytes(dc, daveDB, 21, 3, 1, 0)
If res = daveResOK Then
MsgBox daveGetS32(dc)
Else
MsgBox "Fuck"
End If
End Sub
2015-12-29。

相关文档
最新文档