手机APP与PLC连接
可以用这种方式就行简单的APP与PLC连接,无需使用服务器之类的,只需在电脑上运行此程序,就可以用手机调试软件来搭建,简单方便;
安装Smobiler 可在vs中找到smobiler来创建项目
然后简单的搭建一个画面
开始写简单的PLC通讯代码,利用HslCommunication这个DLL开发起来就简单了。具体操作如代码;
`using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Smobiler.Core;
using Smobiler.Core.Controls;
using HslCommunication.Profinet.Omron;
using HslCommunication;
namespace SmobilerApplication1
{
partial class SmobilerForm1 : Smobiler.Core.Controls.MobileForm
{
public SmobilerForm1() : base()
{
InitializeComponent();
}
//实例化PLC
private OmronFinsNet omronFinsNet = new OmronFinsNet();
///
/// 连接PLC
///
///
private void ConnPLC(string ip)
{
omronFinsNet.IpAddress = ip;
omronFinsNet.Port = 9600;
OperateResult connect = omronFinsNet.ConnectServer();
if (connect.IsSuccess)
{
MessageBox.Show(“PLC连接成功”);
}
else
{
MessageBox.Show(“PLC连接失败”);
}
}
private string ReadData(string type, string address)
{
string Value = "";
switch (type)
{
case "Bool":
Value = omronFinsNet.ReadBool(address).Content.ToString();
break;
case "Short":
Value = omronFinsNet.ReadInt16(address).Content.ToString();
break;
case "Ushort":
Value = omronFinsNet.ReadUInt16(address).Content.ToString();
break;
case "Int":
Value = omronFinsNet.ReadUInt32(address).Content.ToString();
break;
case "UInt":
Value = omronFinsNet.ReadUInt32(address).Content.ToString();
break;
case "Float":
Value = omronFinsNet.ReadFloat(address).Content.ToString();
break;
case "Double":
Value = omronFinsNet.ReadDouble(address).Content.ToString();
break;
case "Long":
Value = omronFinsNet.ReadInt64(address).Content.ToString();
break;
case "ULong":
Value = omronFinsNet.ReadUInt64(address).Content.ToString();
break;
}
return Value;
}
private void Write(string type, string address, string value)
{
switch (type)
{
case "Bool":
if (value == "0")
{
omronFinsNet.Write(address, false);
}
if (value == "1")
{
omronFinsNet.Write(address, true);
}
break;
case "Short":
omronFinsNet.Write(address, short.Parse(value));
break;
case "UShort":
omronFinsNet.Write(address, ushort.Parse(value));
break;
case "Int":
omronFinsNet.Write(address, Int32.Parse(value));
break;
case "UInt":
omronFinsNet.Write(address, UInt32.Parse(value));
break;
case "Long":
omronFinsNet.Write(address, Int64.Parse(value));
break;
case "ULong":
omronFinsNet.Write(address, UInt64.Parse(value));
break;
case "Float":
omronFinsNet.Write(address, value);
break;
}
}
private void btn_conn_Press(object sender, EventArgs e)
{
ConnPLC(txt_IP.Text);
}
private void button2_Press(object sender, EventArgs e)
{
txt_ReadValue.Text= ReadData(txt_Type.Text, txt_Address.Text);
}
private void button3_Press(object sender, EventArgs e)
{
Write(txt_Type.Text, txt_Address.Text, txt_WriteValue.Text);
}
}
}`
然后做测试,手机下载Smobiler 保证手机与电脑在同一局域网中,嫂扫描二维码;
若没有PLC可以用HslCommunication这个调试软件来进行测试;
打开手机APP,连接PLC,可以测试读写PLC数据;
简单的PLC数据读写就可以了,可以用此方法进行扩展;