欧姆龙NJ/NXPLC 全ST程序案例全程序无加密公司级框架提供项目源码框架FB源码触摸屏源码。 需要一定ST基础才能看懂。 重在分享编程思想 没用过该控制器的请慎用。 先安装1.2版本的环境 再升级到1.43 安装包里面的补丁一定要装。嘿各位PLC编程爱好者今天来跟大家分享一个欧姆龙NJ/NX PLC的全ST程序案例而且是无加密的公司级框架哦同时还提供项目源码框架FB源码以及触摸屏源码~不过要提醒一下这案例需要你有一定的ST基础才能看得懂要是没用过该控制器那可得慎用啦。前期准备在开始研究这些源码之前环境安装可不能马虎。首先要安装1.2版本的环境然后再升级到1.43。这里特别强调一下安装包里面的补丁一定要装上不然可能会出现各种意想不到的问题。这就好比搭建一座房子地基打得稳房子才能牢固嘛。编程思想的核心——公司级框架公司级框架是整个项目的骨架它定义了整个项目的架构和运行逻辑。我们以一个简单的逻辑控制框架为例假设我们有一个自动化生产线的控制项目。// 定义一些全局变量 VAR_GLOBAL // 生产线运行状态标志 ProductionLine_Running : BOOL; // 设备故障标志 Equipment_Fault : BOOL; END_VAR // 主程序块 PROGRAM Main // 初始化部分 ProductionLine_Running : FALSE; Equipment_Fault : FALSE; // 主逻辑部分 IF NOT Equipment_Fault THEN ProductionLine_Running : TRUE; // 这里可以添加生产线运行时的具体逻辑比如设备的启动顺序等 // 例如启动输送带 CALL Conveyor_Start; ELSE ProductionLine_Running : FALSE; // 处理故障逻辑比如报警等 CALL Alarm_Handle; END_IF; END_PROGRAM在这段代码里我们首先定义了两个全局变量ProductionLineRunning和EquipmentFault用来表示生产线的运行状态和设备是否故障。在主程序Main中先对这两个变量进行初始化。然后通过判断EquipmentFault来决定生产线是否运行。如果没有故障就将ProductionLineRunning设为TRUE并调用启动输送带的功能块ConveyorStart要是有故障就将ProductionLineRunning设为FALSE并调用处理报警的功能块Alarm_Handle。这就是一个简单的基于状态判断的控制逻辑在实际的公司级框架中会更加复杂和全面涵盖更多的功能和设备。FB源码功能块的魅力功能块FB源码是实现具体功能的关键部分。以刚才提到的Conveyor_Start功能块为例// Conveyor_Start功能块定义 FUNCTION_BLOCK Conveyor_Start VAR_INPUT // 输送带速度设定 Conveyor_Speed : REAL; END_VAR VAR_OUTPUT // 输送带启动状态反馈 Conveyor_Started : BOOL; END_VAR VAR // 内部变量用于记录启动过程 Starting_Process : INT : 0; END_VAR // 功能块逻辑 CASE Starting_Process OF 0: // 检查输送带是否准备好启动 IF Conveyor_Preparation_OK THEN Starting_Process : 1; END_IF; 1: // 设置输送带速度 Set_Conveyor_Speed(Conveyor_Speed); Starting_Process : 2; 2: // 启动输送带 Conveyor_Start_Command : TRUE; Conveyor_Started : TRUE; Starting_Process : 3; 3: // 等待输送带稳定运行 IF Conveyor_Running_Stable THEN Starting_Process : 4; END_IF; 4: // 正常运行保持状态 Conveyor_Started : TRUE; END_CASE END_FUNCTION_BLOCK这个ConveyorStart功能块接收一个输入参数ConveyorSpeed也就是输送带的速度设定值输出一个反馈值ConveyorStarted表示输送带是否成功启动。功能块内部使用一个StartingProcess变量来记录启动过程的不同阶段。首先检查输送带是否准备好启动准备好就进入设置速度阶段然后发送启动命令等待输送带稳定运行最后保持运行状态。这样通过功能块的形式将输送带启动这样一个复杂的功能模块化方便在不同的地方调用也便于维护和管理。触摸屏源码人机交互的桥梁触摸屏源码则负责搭建起人与PLC之间交互的桥梁。以一个简单的启动停止按钮界面为例// 触摸屏界面相关变量定义 VAR // 启动按钮状态 Start_Button : BOOL; // 停止按钮状态 Stop_Button : BOOL; END_VAR // 界面逻辑处理 IF Start_Button THEN // 发送启动命令到PLC PLC_Start_Command : TRUE; END_IF; IF Stop_Button THEN // 发送停止命令到PLC PLC_Stop_Command : TRUE; END_IF;在这段触摸屏源码中定义了StartButton和StopButton两个变量来表示启动和停止按钮的状态。当检测到StartButton被按下时就向PLC发送启动命令PLCStartCommand当StopButton被按下时就发送停止命令PLCStopCommand。通过这样的方式操作人员可以在触摸屏上方便地控制PLC的运行实现人机交互。欧姆龙NJ/NXPLC 全ST程序案例全程序无加密公司级框架提供项目源码框架FB源码触摸屏源码。 需要一定ST基础才能看懂。 重在分享编程思想 没用过该控制器的请慎用。 先安装1.2版本的环境 再升级到1.43 安装包里面的补丁一定要装。这次分享的欧姆龙NJ/NX PLC全ST程序案例从环境准备到公司级框架、FB源码以及触摸屏源码希望能给大家带来一些编程思路上的启发。大家要是有什么问题或者想法欢迎在评论区交流呀
欧姆龙NJ/NX PLC全ST程序案例分享:从框架到源码
欧姆龙NJ/NXPLC 全ST程序案例全程序无加密公司级框架提供项目源码框架FB源码触摸屏源码。 需要一定ST基础才能看懂。 重在分享编程思想 没用过该控制器的请慎用。 先安装1.2版本的环境 再升级到1.43 安装包里面的补丁一定要装。嘿各位PLC编程爱好者今天来跟大家分享一个欧姆龙NJ/NX PLC的全ST程序案例而且是无加密的公司级框架哦同时还提供项目源码框架FB源码以及触摸屏源码~不过要提醒一下这案例需要你有一定的ST基础才能看得懂要是没用过该控制器那可得慎用啦。前期准备在开始研究这些源码之前环境安装可不能马虎。首先要安装1.2版本的环境然后再升级到1.43。这里特别强调一下安装包里面的补丁一定要装上不然可能会出现各种意想不到的问题。这就好比搭建一座房子地基打得稳房子才能牢固嘛。编程思想的核心——公司级框架公司级框架是整个项目的骨架它定义了整个项目的架构和运行逻辑。我们以一个简单的逻辑控制框架为例假设我们有一个自动化生产线的控制项目。// 定义一些全局变量 VAR_GLOBAL // 生产线运行状态标志 ProductionLine_Running : BOOL; // 设备故障标志 Equipment_Fault : BOOL; END_VAR // 主程序块 PROGRAM Main // 初始化部分 ProductionLine_Running : FALSE; Equipment_Fault : FALSE; // 主逻辑部分 IF NOT Equipment_Fault THEN ProductionLine_Running : TRUE; // 这里可以添加生产线运行时的具体逻辑比如设备的启动顺序等 // 例如启动输送带 CALL Conveyor_Start; ELSE ProductionLine_Running : FALSE; // 处理故障逻辑比如报警等 CALL Alarm_Handle; END_IF; END_PROGRAM在这段代码里我们首先定义了两个全局变量ProductionLineRunning和EquipmentFault用来表示生产线的运行状态和设备是否故障。在主程序Main中先对这两个变量进行初始化。然后通过判断EquipmentFault来决定生产线是否运行。如果没有故障就将ProductionLineRunning设为TRUE并调用启动输送带的功能块ConveyorStart要是有故障就将ProductionLineRunning设为FALSE并调用处理报警的功能块Alarm_Handle。这就是一个简单的基于状态判断的控制逻辑在实际的公司级框架中会更加复杂和全面涵盖更多的功能和设备。FB源码功能块的魅力功能块FB源码是实现具体功能的关键部分。以刚才提到的Conveyor_Start功能块为例// Conveyor_Start功能块定义 FUNCTION_BLOCK Conveyor_Start VAR_INPUT // 输送带速度设定 Conveyor_Speed : REAL; END_VAR VAR_OUTPUT // 输送带启动状态反馈 Conveyor_Started : BOOL; END_VAR VAR // 内部变量用于记录启动过程 Starting_Process : INT : 0; END_VAR // 功能块逻辑 CASE Starting_Process OF 0: // 检查输送带是否准备好启动 IF Conveyor_Preparation_OK THEN Starting_Process : 1; END_IF; 1: // 设置输送带速度 Set_Conveyor_Speed(Conveyor_Speed); Starting_Process : 2; 2: // 启动输送带 Conveyor_Start_Command : TRUE; Conveyor_Started : TRUE; Starting_Process : 3; 3: // 等待输送带稳定运行 IF Conveyor_Running_Stable THEN Starting_Process : 4; END_IF; 4: // 正常运行保持状态 Conveyor_Started : TRUE; END_CASE END_FUNCTION_BLOCK这个ConveyorStart功能块接收一个输入参数ConveyorSpeed也就是输送带的速度设定值输出一个反馈值ConveyorStarted表示输送带是否成功启动。功能块内部使用一个StartingProcess变量来记录启动过程的不同阶段。首先检查输送带是否准备好启动准备好就进入设置速度阶段然后发送启动命令等待输送带稳定运行最后保持运行状态。这样通过功能块的形式将输送带启动这样一个复杂的功能模块化方便在不同的地方调用也便于维护和管理。触摸屏源码人机交互的桥梁触摸屏源码则负责搭建起人与PLC之间交互的桥梁。以一个简单的启动停止按钮界面为例// 触摸屏界面相关变量定义 VAR // 启动按钮状态 Start_Button : BOOL; // 停止按钮状态 Stop_Button : BOOL; END_VAR // 界面逻辑处理 IF Start_Button THEN // 发送启动命令到PLC PLC_Start_Command : TRUE; END_IF; IF Stop_Button THEN // 发送停止命令到PLC PLC_Stop_Command : TRUE; END_IF;在这段触摸屏源码中定义了StartButton和StopButton两个变量来表示启动和停止按钮的状态。当检测到StartButton被按下时就向PLC发送启动命令PLCStartCommand当StopButton被按下时就发送停止命令PLCStopCommand。通过这样的方式操作人员可以在触摸屏上方便地控制PLC的运行实现人机交互。欧姆龙NJ/NXPLC 全ST程序案例全程序无加密公司级框架提供项目源码框架FB源码触摸屏源码。 需要一定ST基础才能看懂。 重在分享编程思想 没用过该控制器的请慎用。 先安装1.2版本的环境 再升级到1.43 安装包里面的补丁一定要装。这次分享的欧姆龙NJ/NX PLC全ST程序案例从环境准备到公司级框架、FB源码以及触摸屏源码希望能给大家带来一些编程思路上的启发。大家要是有什么问题或者想法欢迎在评论区交流呀