S7-1200与LabVIEW之间进行Modbus TCP通信
Modbus TCP是一种简便可靠的通信连接,利用S7-1200 PLC作为Modbus服务器(从站),LabVIEW作为Modbus客户端(主站),可以实现上位机PC对下位机PLC的读写操作。这在监控系统开发中经常会用到。本文介绍操作步骤。
S7-1200 PLC组态和编程打开TIA Portal编程软件,新建一个项目,添加新设备,注意设备型号和版本必须选择正确。
设备组态中,添加新子网,设置PLC的IP地址。本文按默认值192.168.0.1。
打开MAIN程序块,将通信指令-其他-MODBUS TCP-MB_SERVER函数块拖入到程序中,系统会提示建立背景数据块,按默认即可。将函数块的CONNECT_ID引脚改为非零数值。
函数块的MB_HOLD_REG引脚是Modbus地址中的保持寄存器,可以配置为PLC的M存储器或工作存储器。本文以使用工作存储器为例,新建一个全局DB,并在DB中建立全局变量。赋值完毕的函数块如图,本文为了演示Modbus对线圈的访问,还增加了一个赋值为1的线圈。
接下来关键一步,刚才建立的全局DB的属性中“优化的块访问”前面的勾去掉,否则不能通信成功。
编译所有块,下载程序到PLC。
LabVIEW编程和测试LabVIEW中,新建一个VI,在VI的后面板中放置4个函数:创建主设备实例、读取保持寄存器、读取线圈、关闭,这4个函数位于“数据通信”-“Modbus”-“Modbus Master”组中。
连接4个函数,主设备实例的地址和端口填写PLC的IP地址和端口,保持寄存器和线圈的起始地址均为0,数量为想要读取的数量。
运行程序,可以看到前面板中有输出,且为PLC中的相应值!证明通信成功!
绛旓細Modbus TCP鏄竴绉嶇畝渚垮彲闈犵殑閫氫俊杩炴帴锛屽埄鐢S7-1200 PLC浣滀负Modbus鏈嶅姟鍣紙浠庣珯锛夛紝LabVIEW浣滀负Modbus瀹㈡埛绔紙涓荤珯锛夛紝鍙互瀹炵幇涓婁綅鏈篜C瀵逛笅浣嶆満PLC鐨勮鍐欐搷浣溿傝繖鍦ㄧ洃鎺х郴缁熷紑鍙戜腑缁忓父浼氱敤鍒般傛湰鏂囦粙缁嶆搷浣滄楠ゃ係7-1200 PLC缁勬佸拰缂栫▼鎵撳紑TIA Portal缂栫▼杞欢锛屾柊寤轰竴涓」鐩紝娣诲姞鏂拌澶囷紝娉ㄦ剰璁惧鍨嬪彿鍜岀増...
绛旓細鍙互鐨勶紝鐢―SC妯″潡鐨凮PC灏卞彲浠ュ疄鐜
绛旓細闇瑕佸畨瑁匘SC妯″潡锛岀劧鍚庡湪labview OPC閲岄潰娣诲姞S7-1200璁惧灏卞彲浠ヤ簡
绛旓細Labview 鐩存帴鐢 OPC 灏卞彲浠ヤ簡锛屽緢绠鍗曪紙labview闇瑕佸畨瑁匘SC妯″潡锛
绛旓細1鏄氳繃wincc杩欑被缁勬佽蒋浠 2鏄嚜宸辩敤楂樼骇璇█锛坴b銆乿c绛夌瓑锛夛紝鏂规硶涓昏鏈夛細opc锛堣タ闂ㄥ瓙simaticnet opc銆佺涓夋柟kepware opc锛塸rodave锛堣タ闂ㄥ瓙鐨勪竴涓蒋浠跺寘锛屾彁楂榲b鍜宑鐨勯氳鍑芥暟搴擄級simticnet杞欢鎻愪緵浜嗗嚑涓氳dll锛堟娉曟槸涓鑸殑绗笁鏂箂cada鎵閲囩敤锛夊彲浠ョ敤鍏朵粬缁勬佽蒋浠讹紝姣斿缁勬佺帇銆備篃鍙互鐢╲b缂栧啓涓绋嬪簭...