软PLC
树莓派PLC。橙派PLC。Windows PLC。计算机PLC。Windows PLC。
Soft PLC 可在所有现代操作系统上高效运行。这使您可以在几秒钟内将计算机、树莓派或 Orange Pi 等设备转换为功能齐全的 PLC。此外,您可以高效利用设备的 GPIO 进行数字输入/输出、PWM、串口和 SPI 通信。您还可以将 USB 串口或二维码阅读器等硬件直接集成到系统中。此外,您还可以根据需要使用带有远程 IO CPU 的 Fulmatic PLC IO 模块来扩展系统。
硬件和软件要求
为了确保 Soft PLC 稳定运行,您的平台上必须安装 Microsoft .Net Core 8.0.4 运行时环境(或更高版本)。所需的 .Net Core 版本可能会随着软件更新而变化。因此,请务必在此处查看最新版本信息。下载我们建议您按照标题“……”进行操作。
软PLC安装指南
- 有关软PLC安装的更多详细信息 Fulmatic SOFT 帮助页面 您可以通过[链接]访问它。如果您还没有下载, 从这里下载Fulmatic软件。
- 软PLC 要获取文件,请点击 Fulmatic SOFT 中 PLC 窗口的右上角。 “保存软件PLC文件” 点击按钮,将文件传输到您的电脑。

为了在您的计算机上获得流畅的 Windows 操作系统体验。 Microsoft .Net Core 8.0.4 运行时 必须安装。这是所需的版本。 您可以从这里安全下载。
安装步骤:
- 启动软件: 在你保存的文件夹里
SoftPLC.exe运行该文件即可启动Soft PLC。 - 授予网络访问权限: 首次运行该程序时,Windows 会显示一条关于打开 TCP 端口的安全警告。请忽略此警告,以便软件能够通过网络进行通信。 “允许访问” 请回答(是)以确认。
- 串口识别: 如果您想将计算机上的串口与 Soft PLC 配合使用;
Project文件夹内Config.txt打开该文件,并通过该文件定义相关的串口。
Serial Port:Name=COM0;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None; Serial Port:Name=COM1;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;
以下步骤适用于树莓派、PLC 和类似设备。
要在您的 Raspberry Pi 或 Orange Pi 设备上安装 Soft PLC,您可以按照以下步骤操作:
1. 创建文件夹
打开终端屏幕,创建一个新目录来存放Soft PLC文件。
不: 示例中使用
/home/raspberrypi目录是根据您正在使用的设备的用户名创建的(例如)。/home/orangepi(像这样)情况可能会有所不同。
mkdir SoftPLC

2. 将文件传输到设备
您可以将保存在计算机上的 Soft PLC 文件传输到 U 盘或 USB 闪存驱动器。 FTP(Filezilla) 您需要使用此方法将其传输到您的设备。
- 暗示: 有关使用 FTP 的详细信息。 从这里开始 你可以到达。
- 关键步骤: 通过您电脑上的 FileZilla 程序 ARM 选择设备上创建的文件夹中的所有文件。
SoftPLC将其上传到文件夹。
(Soft PLC 采用 32 位 ARMv7 处理器架构专门编译,以实现高性能。)

3. 操作软PLC
文件复制完成后,请确保您的系统已安装 .NET 运行时环境。要启动 Soft PLC,请在终端中输入以下命令:
sudo dotnet /home/raspberrypi/SoftPLC/SoftPLC.dll
- 适用于 Raspberry Pi 的 .NET Core 运行时 8.0.4 从这里开始 您可以下载。
如果版本不兼容,终端屏幕上将显示错误消息。 - 使用U盘或FileZilla等传输程序,将您电脑上下载的文件传输到树莓派。有关使用FTP传输文件的信息,请点击此处。 这里 Ziyaret爱丁堡。
- 下载的文件 /home/raspberrypi/下载 我们已将其移至索引。
- 在树莓派上打开终端 /home/raspberrypi 在其下方创建一个名为 `dotnet` 的文件夹。
Soft PLC 需要 .NET Core Runtime 8.0.4 才能运行。 buradan indirebilirsiniz. 如果遇到版本不兼容的情况,您会在终端屏幕上看到一条错误消息。
1. 文件准备和传输
将下载的安装文件放在U盘上或 FileZilla中 使用类似[程序名称]的FTP程序将其传输到您的设备。
- 文件位置: 本指南解释了该文件。
/home/raspberrypi/Downloads假设它已被移动到该目录。 - FTP帮助: 如果您需要文件传输方面的帮助,请问如何解决? 本指南 您可以查看。
2. 安装步骤
打开终端,创建 .NET 文件夹,然后按顺序执行以下命令来提取文件:
mkdir dotnet
- 转到“下载”文件夹,并将下载的文件解压到 dotnet 文件夹。
- 这里 dotnet-runtime-8.0.4-linux-arm.tar.gz 这是下载文件的名称。文件名可能因您下载的版本而异。
tar -xvf dotnet-runtime-8.0.4-linux-arm.tar.gz -C /home/raspberrypi/dotnet/
3. 路径定义
系统 dotnet 为确保命令能被任何位置识别,您需要定义 PATH 环境变量。为此,请执行以下代码。
sudo nano /home/raspberrypi/.bashrc
- 在文件末尾添加以下内容。
export DOTNET_ROOT=/home/raspberrypi/dotnet/
export PATH=$PATH/home/raspberrypi/dotnet/

- 编辑完成后,保存文件 按Ctrl + X 按下按键。然后 Y 以及按钮 输入 按下按钮确认保存操作。
- 要立即应用更改,请运行以下命令:
source ~/.bashrc
4. 安全路径设置
为确保 .NET 与 sudo 命令无缝协作,请完成以下步骤:
sudo visudo
Defaults secure_path="..."找到该行,并在末尾添加 .net 目录:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/raspberrypi/dotnet"
- 编辑完成后,保存并关闭文件。
- 完成这些步骤后,.NET 安装就完成了。

使用软PLC来控制硬件引脚(GPIO)。 WiringPi 它使用了这个库。安装这个库对于在树莓派上启用 GPIO 模块至关重要。
# Gerekli araçları yükleyin ve kaynak kodunu indirin
sudo apt install git
sudo git clone https://github.com/WiringPi/WiringPi.git
# Kurulum dizinine gidin ve derleme işlemini başlatın
cd WiringPi
sudo ./build
不: 这些步骤适用于树莓派。其他平台(例如 Orange Pi)的设置方法可能有所不同。有关 WirenPi 的更多详细技术信息,请参阅以下链接。 来自其官方页面 你可以到达。
能够使用软PLC的硬件功能 Project 文件夹内 Config.txt 您需要编辑该文件。配置过程中应注意的基本规则如下:
- 简单: 请勿在文件中包含您不使用的功能(例如,如果您没有数字输入)。
- 排序方式: 硬件 PWM、软件 PWM 和串口应依次列出。
- 真相: 请确保您使用的是硬件的物理PIN码。
示例 Config.txt 内容
Shutdown Detect:29U;
Digital Inputs:33D;35U;36;37U;
Digital Outputs:38;40;
Hardware PWM:Pin=12;Clock=100000;Range=100;
Software PWM:Pin=16;Range=100;
Serial Port:Name=/dev/ttyS1;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;EnablePin=32;
Serial Port:Name=/dev/ttyS2;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;EnablePin=7;
1. 关机检测
它用于在断电期间安全地保存数据。
- 内存管理: 软PLC拥有256kB的内存,但只有已使用的部分才会写入磁盘。这样,使用小容量电容(建议最小3300µF)即可确保数据安全。如果关机所需时间不足,则应增加电容。
- 性能:
Ctrl + C关闭程序后,您可以在终端中看到录制时间(例如:PLC_Code.bin saving time: 70 ms这个时间取决于硬件速度和编写的PLC代码的大小。
Shutdown Detect:29U;
下图显示了一个标准闭合检测电路(SD Detect)的示例:

暗示: 要深入了解电路设计和连接细节 这里 你可以浏览。
2. 数字输入 (DI) 配置
- 用作数字输入的PIN码按顺序输入。
- 参赛作品 U (拉起) D 您可以指定(下拉)模式,也可以留空。
- 某些系统可能不支持基于软件的上拉/下拉功能。在这种情况下,请手动配置操作系统设置或使用外部电阻。
- 您输入的第一个引脚编号对应于软PLC中数字输入地址的第一位(例如,I 0.0)。
- 并排添加的每个引脚都代表起始地址之后的下一个位地址。
您可以通过查看以下示例行来理解寻址逻辑:
Digital Inputs:33D;35U;36;37U;
33D - I 0.0
35U - I 0.1
3. 数字输出 (DQ) 配置
- 请按顺序写出输出引脚的名称。与输入引脚不同,输出引脚不要使用模式标识,例如 U 或 D。
- 您添加到列表中的每个新引脚都会自动分配给下一个软 PLC 位地址(Q 0.0、Q 0.1…)。
您可以通过查看以下示例行来理解寻址逻辑:
Digital Outputs:38;40;
38 - Q 0.0
40 - Q 0.1
4. PWM(相位宽度调制)
- 对于 PWM 配置
Config.txt文件 时钟 ve 范围 将值设置为固定值。 - 在 Fulmatic SOFT 中,第一个 PWM 输出从您指定的模拟输出 (QW) 地址开始(例如,QW 100)。
- 系统首先 硬件脉宽调制然后 软件PWM的地址。
- 最大PWM范围 1024 请按此定义,并且任何字段中都不要使用小数。
硬件脉宽调制
不同设备的硬件PWM引脚编号可能有所不同。此处展示了一个使用示例。
Hardware PWM:Pin=12;Clock=100000;Range=100;
Pin=Hardware PWM pin numarası 12 (GPIO18-PWM0)
Clock=PWM frekansı
Range=PWM aralığı (0 ile 1024 arasında)
软件PWM
使用软件 PWM 可以在未使用的 GPIO 引脚上生成 PWM 信号。
Software PWM:Pin=12;Range=100;
Pin=Software PWM pin numarası
Range= PWM aralığı
Frekans formülü: Frequency Hz. = 1.000.000 / (PWM Range x 100us)
Range 100 olduğunda: frekans Frequency Hz. = 1.000.000 / (100 x 100us) = 100 Hz
5. 串口配置
- 用于 RS232、RS485 或 USB 转串口转换器。
- 如果您使用的是 RS485 集成电路进行方向控制……
EnablePin您必须定义此参数。USB转换器和RS232集成电路不需要此行。
Serial Port:Name=/dev/ttyS1;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;EnablePin=32;
Serial Port:Name=/dev/ttyS2;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;EnablePin=7;
#Name=Kendi donanımınıza göre yazmalısınız.
#BaudRate=Kullanabileceğiniz baudrate (iletişim hızı), cihazınızın modeline ve işletim sistemine bağlı olarak değişebilir.
#Parity=None, Even, Odd, Mark, Space olarak yazılabilir.
#StopBits=0, 1, 2 yazılabilir.
#DataBits=7, 8, 9 yazılabilir. Modbus için 8 olmak zorundadır.
#FlowControl=None, RequestToSend, RequestToSendXOnXOff, XOnXOff şeklinde yazılabilir.
#EnablePin=Seri port haberleşmesi RS485 entegresi yardımıyla sağlanacaksa, GPIO pin'lerinde birisini Enable pin olarak kullanılır.
