西门子S7-300 PLC 中如何自己编制PID程序

西门子S7-300 PLC 中如何自己编制PID程序,第1张

单就程序说一下思路:

首先用fc105模块将第一条的模拟量,二、三条的压力等转换为对应的数字量。然后用这个转换后的数字量作为fb41的参考输入,这样pid会根据这个参考输入(即目标值)计算pid的控制量。然后将此控制量利用fc106转换为模拟量输出给阀门来改变阀门开度即可。

这里面你的问题比较笼统,主要是你进来的模拟量的量程,然后就是你控制阀门的类型,比如说用4-200ma控制阀门,还是1-5v控制阀门,这个还要具体讨论。

fc105

106是模数、数模转换模块。因为plc不能直接处理模拟量,所以要通过模块来转换,如果你要完成具体程序,就要知道你用的模拟量的类型、量程。

另外fb41的背景db你分配后它里面就含有fb41的具体参数,作为一般应用其实可以不用通过背景db来编程。用梯形图基本就可以处理你的问题。

方法一:

使用subprocess 的check_output函数执行pidof命令

方法二:

使用pgrep命令,pgrep获取的结果与pidof获得的结果稍有不同pgrep的进程id稍多几个pgrep命令可以使适用subprocess的check_out函数执行

方法三:

获取当前脚本的pid进程

方法四:命令获取+kill PID

说明:

注意:linux的进程号最大是是 32768 (32 位系统)和 2 的 22 次方(400w 左右)(64 位系统)。cut -c 9-15不够,改成awk '{print $2}'

@echo off

for /f "tokens=2 delims= " %%a in('tasklist^|find /i "RavMonDexe"') do (

taskkill /f /pid %%a

ntsd -c q -p %%a

)

上面这个能自动查找RavMonDexe进程的PID,并通过2种方式结束此进程

有时有必要保存Linux进程的 进程标识号 (PID)。在本教程中,我们将介绍一种使用pid文件 存储PID的常用方法 ,以及一个使用方法的示例。

很多时候,应用程序会将PID写入文件以便于访问,特别是守护进程。它只是 一个仅包含进程的PID文本 文件。没有特定的规则创建或使用。这仅仅是一个简单有用的约定。

下面从创建pid文件的简单例子开始介绍pid文件

我们可以在脚本中创建pid文件的一种方法是将$$的输出传递到文件中:

$$是一个Linux变量,它返回调用它的进程的PID。在这种情况下,它是shell的PID。

写个脚本并且运行起来

执行脚本

在另一个窗口执行ps命令查看进程pid

使用pid文件kill掉该进程的命令

再次ps则不会出现刚刚的进程

pgrep命令可以从pid文件得到pid

欢迎访问 我的博客

以上就是关于西门子S7-300 PLC 中如何自己编制PID程序全部的内容,包括:西门子S7-300 PLC 中如何自己编制PID程序、python 获取进程的pid、高手回答 弄个批处理 自动获取PID 结束进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9712475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存