组态王与两台s7-200 smart 的tcp通信,PLC要怎么设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组态王与两台s7-200 smart 的tcp通信,PLC要怎么设置相关的知识,希望对你有一定的参考价值。
plc需要如何设置,是要编写通信程序还是怎么。完全不懂PLC
已下载step7 microwin smart,但不知如何使用
1.在亚控公司网站下载2013年9月更新的驱动程序,版本为60.1.24.30,网址如下:
http://www.kingview.com:8080/driverdownload/Kingview_Generic_Version_Extendedview.asp?Number=414
老版本的驱动不支持S7-200 SMART。
2.改写下载的驱动中的
下载的驱动中有两个文件夹“KS驱动”和“KV驱动”。使用其中的“KV驱动”。
将该文件夹中的初始化文件“kvS7200.ini”原文为
[192.168.31.12:0]
LocalTSAP=4D57
RemoteTSAP=4D57
TpduTSAP=000A
SourceTSAP=0009
[192.168.31.33:0]
/SMART
LocalTSAP=1000
RemoteTSAP=1000
TpduTSAP=000A
SourceTSAP=0009
将它改写为:
[192.168.2.1:0]
LocalTSAP=0101
RemoteTSAP=0101
TpduTSAP=000A
SourceTSAP=0009
其中的“192.168.2.1”是CPU的IP地址。如果有多台PLC,应列出它们的IP地址,例如
[192.168.2.1:0]
[192.168.2.2:0]
3.安装驱动程序
单击Windows的“开始”按钮,执行菜单命令“\\所有程序\\组态王6.55\\工具\\安装新驱动”,打开驱动安装工具。单击 按钮,打开保存驱动的文件夹,双击其中的驱动文件“S7_TCP.dll”,单击“安装驱动”按钮,安装成功后显示“安装完成!”。
4.组态通信中的接口
选中工程浏览器中的COM1,双击右边窗口中的“新建”,再双击生成的“新IO设备”。选中设备列表的S7-200中下面的TCP(有两个TCP)。单击“下一步”按钮,使用默认的COM1,指定设备的地址为“192.168.2.1:0”,采用默认的恢复间隔和最长恢复时间。
5.通信实验
用组态王画面的按钮产生M0.0和M0.1的点动信号,用它们和PLC的程序控制Q0.0,用画面上的指示灯显示Q0.0的状态。用字符的动画功能显示定时器的当前值,和修改定时器的预设值(见下图)。
smart自带以太网接口,你需要去组态王官网下载S7-200 SMART 的S7_TCP驱动。配置好。就可以用了本回答被提问者和网友采纳 参考技术C 设置成不同的IP,就可以了啊
网络编程 socket模块 tcp协议 udp协议
网络基础相关知识 , socket模块 , tcp协议通信代码
网络基础相关知识
(1) 架构
C / S 架构: client 客户端 和 server 服务器端
优势:能充分发挥pc机的性能
B / S 架构: browser 浏览器 和 server 服务器 隶属于C/S架构
B /S 架构 同意了应用的接口
(2) 通信
同意台电脑上两个py程序通信 : 打开一个文件
两台电脑通信 : 联网
多个电脑通信 : 电脑1发送一个请求帧,其中包含(我的IP和我的mac地址,和我要找的IP地址为xxxxxxx的主机),将此请求发送给交换机,交换机广播这条消息给其他所有主机
,目标主机接到这条消息后回复给交换机消息(我的IP地址和mac地址,请回复给源主机(实际这里是IP和mac来代替源主机)),交换机以单播的形式返回给源主机
mac 地址 : 是一个物理地址,全球唯一,类似于身份证
ip 地址 : 是一个四位点分十进制,它标识了计算机在网络中的位置
交换机的通信方式:
广播 : 吼一嗓子,发送给每台计算机
单播 : 一对一
组播 : 一对多
arp 协议 : 通过目标 ip 地址获取目标 mac 地址的一个协议
端口 : 操作系统为本机上每一个运行的程序都随机分配一个端口,其他电脑上的程序可以通过端口获取到这个程序
ip 地址 + 端口 能找到唯一某台电脑上的某一个服务程序
路由器 : 连接不同网段 , 路由
网关 : 类似于一个局域网的出口和入口
网段 : 一个局域往内的ip地址范围
子网掩码 : 子网掩码 & ip地址 得到网段
osi 五层模型:
应用层 : http , https , ftp
传输层 : tcp/udp 四层交换机 , 四层路由器
网络层 : ip协议 路由器 , 三层交换机
数据链路层 : arp协议 交换机 , 网卡 , 网桥
物理层 : 传输电信号 集成器 , 网线 , 光纤
socket 模块
import socket
socket 又叫做套接字
sk = socket.socket(family = AF_INET,type = SOCK_STREAM)
family:
一种 : AF_UNIX 基于文件类型的套接字(早起socket是源自于unix系统而研发的一个功能,主要是为了同一台电脑上,多个程序直接通信)
一种 : AF_INET 基于网络类型的套接字
type :
一种是基于 TCP 协议 SOCK_STREAM
一种是基于 UDP 协议 SOCK_DGRAM
tcp 协议 : 可靠的,面向连接的,面向字节流形式的额传输方式
udp 协议 : 不可靠的,不面向连接的,面向数据报的传输方式,但是传输速度快
例(同一台电脑上,服务器与客户端相互通信)
代码:
同一台电脑两个py文件通信(下面两个py文件配合使用)
服务器需要一个py文件
# 服务器(代码): import socket sk=socket.socket() #不传参数,默认使用基于网络类型的套接字,协议:TCP sk.bind((‘192.168.12.30‘,18907)) #端口的范围是0-65535 但是 0-1023 这些别用 sk.listen() #同时能接受的连接 while 1: conn,addr=sk.accept() #等待接受客户端的连接 , 阻塞等待 while 1: print(‘输入q退出聊天‘) ms_r=conn.recv(10033333).decode(‘utf-8‘) #接收 , 接收客户端传来的内容conn.recv(能接收的最大长度).decode(‘utf-8‘)接收过来解码成utf-8格式 print(ms_r) if ms_r.upper()==‘Q‘: break i=input(‘>>>‘) conn.send(i.encode(‘utf-8‘)) #发送 , conn.send()发送 i.encode(‘utf-8‘)将要传输的内容编码成bytes类型进行传输 if i.upper()==‘Q‘: break conn.close() sk.close()
客户端也需要一个py文件
客户端(代码):
# 客户端(代码): import socket sk=socket.socket() sk.connect((‘192.168.12.30‘,18907)) #连接到服务器 while 1: print(‘输入q退出‘) count=input(‘请输入内容‘) #输入要发送的内容 sk.send(count.encode(‘utf-8‘)) #发送 if count.upper() == ‘Q‘: break ma=sk.recv(10033333).decode(‘utf-8‘) #接收 , 接收服务器传输的内容sk.recv(能接收到额最大长度) , decode(‘utf-8‘)解码 if ma.upper()==‘Q‘: break print(ma) sk.close()
以上是关于组态王与两台s7-200 smart 的tcp通信,PLC要怎么设置的主要内容,如果未能解决你的问题,请参考以下文章