有的没的
占个位置
在这个帖子里边讲一下关于tcon_ip_v4的配法

= =写到notion了 请查收

#plc #modbus
一个modbus-tcp的配置例子(mb_client\mb_server)

图1为tia portal块配置 图2为通信流程图

1. 客户端发起请求 - 读取从地址 40001 开始的 3 个保持寄存器(每个16位,即一个word或者一个int)

2. 服务器查找数据 - 从 DB1.DBX0.0 开始的数据区读取对应值。
从图上可见mb_server准备的寄存器区域可以比查询长度的长。

数据映射关系:

40001 (地址0) ↔️ DB1.DBW0
40002 (地址1) ↔️ DB1.DBW2
40003 (地址2) ↔️ DB1.DBW4

3. 服务器响应 - 返回 6 个字节的数据(3个寄存器×2字节/寄存器)
客户端接收 - 数据存储到 MB_DATA_PTR 指向的位置

#modbus #plc
今天测试了单机模拟两台plc进行modbus实验

是想到,带同学们进行双击plcsim adv实验的时候,既然可以ping的通本机模拟的plc,那么我也可以在本机模拟两台plc

实验成功的前提就是可以ping的通plcsim adv的两台plc

网络环境的设置方法和带同学们的一样:
- 需要设置siemens plcsim adv adapter的ip为plc实例同网段(和宿主pcIP可以不一个网段)
- 需要在实体adapter里勾上对号(此步也可能不需要)
- tcp comm with <local>(无所谓应该,只要测试能ping同plc实例就可以)

#plc #plcsim
万能的闲鱼···

虽然经常用闲鱼省钱 但是 ··· 这张图里的东西我是大部分没用过的


#life
image_2025-06-11_11-45-40.png
1.5 MB
这几天做专业介绍的 ppt,苦于把 ppt 转为 md。

之前都是用 ppt 保存为 pdf,然后在https://pdf2md.morethan.io/ 转换为 md

今上午试了一下微软的 markitdown 这个 python 库,发现还阔以。直接 markitdown file -o output.md

#programming #ai GitHub - microsoft/markitdown: Python tool for converting files and office documents to Markdown.
wincc rt adv 与本机 plcsim 进行测试通信的方法:
使用TIA Portal V15.1创建 WinCC RT Advanced 与SIMATIC S7—1200间的通信连接.

WinCC RT Advanced是用于基于PC可视化的运行系统软件。

本视频将介绍在TIA Portal V15.1中如何将程序下载至PLC中,并创建WinCC RT Advanced与SIMATIC S7—1200 PLC之间的通信连接。

注意:

1,为WinCC RT Advanced添加通信模块,选择以太网IP地址时以太网 IP

2,创建WinCC RT Advanced与SIMATIC S7—1200间的通信连接时,HMI设备访问点设置需要与PG/PC相一致,否则无法与实际的 PLC 相通信。(依我看,纯 local 就选择 plcsimxxx,如果要和别机器通信就选.tcpip1)

最后为大家演示WinCC RT Advanced仿真系统与S7—1200仿真系统的通信过程。

视频参考


#plc #wincc
今天实践了手动 rag,提取相关文档的内容加入到 prompt 里面。

pdf 转 md 使用了https://pdf2md.morethan.io/

然后 md 中写明白引用的章节。

一般就是 三个### 加上材料的名字,比如:
### 学院信息


引用的时候,使用[文字](#章节名字)来引用,比如
[学院介绍](#学院信息)

这样,按住cmd再点击就跳转到相应位置了。

可能不这么引用,llm也会自己找到···这么做确实有点麻烦,但是更精确吧。


#programming #ai
测试了cloudsaver里alist的转存刷新功能,配合 alist 的 api,很棒,完全无问题

就是目前移动端还没有适配
最近 open webui更新新版本后,在我的 ios16.2 的 safari 上发现历史会话的所有LLM 的回复都变成空白了。

查找了一下问题,在 issue 发现了解决方案。
首先推荐使用 0.6.10 这个版本试一下。如果还不行就在容器里执行
find /app/build/_app/immutable/chunks/*.js -exec sed -i -e "s/.split(new RegExp(\"(?<=\[.\!?\])\\\\\\\\s+\"));/.match(\\/\\[^.?\!\]+\[.\!?\]+\[\\\\])'\"\`\’\”\]\*|.+\/g)||\[\];/g" {} \;



#AI #openwebui
PNP”和“NPN”这两个术语通常用于描述 数字输入(DI)信号的类型**,尤其是传感器或开关的输出类型。因此,它们主要用于描述 **输入侧的接线方式和信号来源的特性**。

---

## 简单总结:

| 类型 | 用于描述 | 特点 |
|------|----------|------|
| **PNP / NPN
| 主要用于 数字输入(DI)模块 的信号源(如传感器、接近开关等) | 描述的是外部设备如何向 PLC 输入端子提供电流 |

---

## 🔍 详细解释:

### 1. PNP 型(Source Type)
- 又称 漏型输入(Sourcing Input)**。
- 传感器/开关在导通时将 **24V(L+)电平送入 PLC 的 DI 点**。
- 当输入闭合时,电流从传感器流出到 PLC 的输入点 → 所以叫 “source”。

#### 📌 接线方式:
- 传感器电源正极(24V)接到传感器的棕色线;
- 传感器输出线(黑色线)接到 PLC 的 DI;
- PLC 的 DI 模块内部连接到 **M 端子作为参考地**;
- 电源负极接到 M。

> ⚠️ 如果你的 PLC DI 模块是 **支持 PNP 输入的漏型接法**,则使用这种方式。

---

### 2. **NPN 型(Sink Type)

- 又称 吸型输入(Sinking Input)**。
- 传感器/开关在导通时将 **PLC 的 DI 点拉到 GND(M)**。
- 当输入闭合时,电流从 PLC 输出 → 流入传感器 → 所以叫 “sink”。

#### 📌 接线方式:
- 传感器电源正极接到 PLC 的 L+;
- PLC 的 DI 输出接到传感器的黑色线;
- 传感器的蓝色线接到电源负极(即 M);
- 传感器输出导通时,电流从 L+ → DI → 传感器 → M。

> ⚠️ 如果你的 PLC DI 模块是 **支持 NPN 输入的吸型接法**,则使用这种方式。

---

## 🧠 总结口诀(方便记忆):

- **PNP 是“供出电”**:传感器把电送到 PLC;
- **NPN 是“吸入电”**:传感器把电流引走。

---

## 📝 补充说明:

虽然 PNP/NPN 主要描述的是 **输入信号的类型**,但在实际应用中,也会看到它们出现在 **输出模块
的上下文中,比如晶体管输出的 PLC 是否支持 PNP 或 NPN 类型的负载接法。不过这种情况较少见,大多数情况下我们说 PNP/NPN 都是指:

> 输入模块所连接的传感器或开关的输出类型

---

## 📎 实际例子:

你买了一个接近开关,上面写着:

- Output: PNP, NO
表示它是一个常开的 PNP 输出型传感器,适用于漏型输入的 PLC 模块。

---

如果你有 S7-1200 的具体型号,我也可以告诉你它默认支持哪种类型的输入(PNP or NPN),是否可以切换等等 😊


#plc #pnp
Back to Top