手机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数据读写就可以了,可以用此方法进行扩展;

更多推荐

简单的APP与PLC通讯