概述
1.检查Linux系统的串口
ls -l /dev/ttyS*
返回如下
crw-rw----. 1 root dialout 4, 64 11月
3 15:29 /dev/ttyS0
crw-rw----. 1 root dialout 4, 65 11月
3 19:50 /dev/ttyS1
crw-rw----. 1 root dialout 4, 66 11月
3 15:29 /dev/ttyS2
crw-rw----. 1 root dialout 4, 67 11月
3 15:29 /dev/ttyS3
可以从返回中看到Linux设备有4个串口,对应Windows下的串口入下
/dev/ttyS0 ==》COM1
/dev/ttyS1 ==》COM2
/dev/ttyS2 ==》COM3
/dev/ttyS3 ==》COM4
2.实际连接硬件端口
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控制和串口通讯的实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复