我是靠谱客的博主 洁净过客,最近开发中收集的这篇文章主要介绍Linux三菱PLC控制和串口通讯的实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.检查Linux系统的串口

ls -l /dev/ttyS*

返回如下

crw-rw----. 1 root dialout 4, 64 113 15:29 /dev/ttyS0
crw-rw----. 1 root dialout 4, 65 113 19:50 /dev/ttyS1
crw-rw----. 1 root dialout 4, 66 113 15:29 /dev/ttyS2
crw-rw----. 1 root dialout 4, 67 113 15:29 /dev/ttyS3

可以从返回中看到Linux设备有4个串口,对应Windows下的串口入下
/dev/ttyS0 ==》COM1
/dev/ttyS1 ==》COM2
/dev/ttyS2 ==》COM3
/dev/ttyS3 ==》COM4

2.实际连接硬件端口
plc通讯连接

3.dotnet SDK
本次用的是net6.0,安装请查看官方说明,这里就不在说明了。

4.PLC通讯库
我这边用的通讯库是 HslCommunication.dll 版本7.2以上
低版本可能不能在net6.0运行

5.简单的hello word

public static class PlcInstuct
{
static MelsecFxSerial fxSerial = new MelsecFxSerial();
static PlcInstuct()
{
fxSerial.SerialPortInni("/dev/ttyS1", 9600, 7, StopBits.One, Parity.Even);
fxSerial.Open();
if (fxSerial.IsOpen())
{
Console.WriteLine("PLC连接正常");
}
else
{
Console.WriteLine("PLC连接失败");
}
}
/// <summary>
/// 设置Y0点ON
/// </summary>
/// <param name="y"></param>
/// <returns></returns>
public static bool SetON()
{
var rep = fxSerial.Write("Y0",true);
return rep.IsSuccess;
}
}

到此教程结束,说一下中间踩过的坑:
1.Linux的串口和Windows的串口有很大不一样,所以很难确定脸上的串口和串口编号,在Linux上的串口编号长得太像一个路径了。
2.串口权限问题,在Linux上面串口是由使用权限的,如果你的应用运行的权限不够是无法正常调用对应串口的。
总结:还是对Linux了解的太少!

最后

以上就是洁净过客为你收集整理的Linux三菱PLC控制和串口通讯的实现的全部内容,希望文章能够帮你解决Linux三菱PLC控制和串口通讯的实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部