随笔分类 -  PLC related / PLC Application

西门子1200/1500/300/400PLC
摘要:背景 犯了一个坑,以为1500系列的PWM/高频输出方式和1200差不多,直接使用指令CTRL_PWM就能配置。但是实际上在1500上,CTRL_PWM这个指令找不到了。网上搜的教程也都是千篇一律的200smart/1200的PWM脉冲配置,找不到1500系列怎么玩。后来在论坛上,看到几个国外老哥遇 阅读全文
posted @ 2025-03-19 19:00 你要去码头整点薯条吗 阅读(244) 评论(0) 推荐(0)
摘要:读写时钟和时钟同步 设置时间日期 在编辑器页面,选择PLC,选择Set Time of Day,可以把PC的时间同步给PLC。(除了此方法外,也可以在硬件组态界面把时间同步给PLC;或者通过SFC0分配系统时间给PLC。) 从OB1获取Date_And_Time 如下,OB1的临时变量P#L12.0 阅读全文
posted @ 2025-02-24 14:56 你要去码头整点薯条吗 阅读(232) 评论(0) 推荐(0)
摘要:循环程序执行与过程映像区的更新 主程序循环过程: OS启动扫描循环监视时间 将输出过程映像区的值写到输出模块 读取输入模块的值状态值,并更新到输入过程映像区 逻辑处理 当循环结束,处理其他未决任务,例如删除和加载块。 CPU返回循环启动,重新启动扫描循环监视时间 过程映像区和外设地址: 'I'/'Q 阅读全文
posted @ 2024-12-10 23:21 你要去码头整点薯条吗 阅读(372) 评论(0) 推荐(0)
摘要:1. 大端模式和小端模式 大端模式:高位字节地址在内存的低位地址端,低位字节地址在内存的高位地址端。 小端模式:高位字节地址在内存的低高地址端,低位字节地址在内存的低位地址端。 2. 西门子PLC中一个word的表示 如图:IW17 = IB17 + IB18 其中IB17在高位地址端,IB18在低 阅读全文
posted @ 2024-07-08 16:39 你要去码头整点薯条吗 阅读(1309) 评论(0) 推荐(0)
摘要:1. 硬件配置 300侧 1200侧 对于以什么方式结束所接收的消息,此处是默认的时间结束。 2. 程序 300侧 EN_R管脚可以常1; LADDR是输入输出IO地址; DB_NO填发送/接收数据DB号; DBB_NO填发送/接收数据DB起始地址; 图一左边通信出错时的重连逻辑,这一类重连思路对处 阅读全文
posted @ 2024-06-25 16:50 你要去码头整点薯条吗 阅读(108) 评论(0) 推荐(0)
摘要:1. 背景 最近用一个300PLC做S7通信的时候,因为交互的数据量有1024个bytes.这才意识到put get在数据量上的限制。以及S7大数据传输用到的BSEND/BRCV。 2. S7支持的指令 在PLC里,能基于S7协议用于数据交换的指令如下(S7 300/400下描述): 其中值得注意的 阅读全文
posted @ 2024-06-18 17:00 你要去码头整点薯条吗 阅读(2969) 评论(0) 推荐(0)
摘要:1. 背景 以前了解过串行通信的方法但是没有详细了解过具体实现。趁着手上有的一堆破铜烂铁尝试自己去实现一个最简单的串行控制。 目的是通过移位寄存器的不同位的表达,达到2*2=4个的继电器管断组合,达到切换矩阵的目的。 这里只记录一下程序实现,不记录硬件电路。 2. 材料 移位寄存器:SN74AHC5 阅读全文
posted @ 2024-06-06 13:11 你要去码头整点薯条吗 阅读(128) 评论(0) 推荐(0)
摘要:1. 模拟量有哪些 温度 压力 速度 填充量 PH值 2. 变送器 对于PLC而言,只能处理位模式格式的模拟值(-32767~32767)。所以变送器的目的是测量如压力流量温度等物理值,再转换成电流/电压/电阻等形式,方便模拟量输入模块采集,采集后再模块内部有一个AD(模数)转换器,可以把电流电压电 阅读全文
posted @ 2024-05-22 09:28 你要去码头整点薯条吗 阅读(128) 评论(0) 推荐(0)
摘要:1. 什么叫服务数据 服务数据,service data:除了诊断缓冲区的内容外,服务数据还包含有关CPU内部状态的更多信息。如果CPU发生故障且无法通过其他方法解决的时候,则用户可以导出服务数据发送给西门子服务与支持团队,便于服务与支持人员快速分析问题原因 2. 如何读取服务数据 MFCT工具读取 阅读全文
posted @ 2024-05-16 10:55 你要去码头整点薯条吗 阅读(235) 评论(0) 推荐(0)
摘要:读取本地时间的纳秒时间,计算取余数得到随机数 1. 变量声明,定义 2. 模式选择,支持UDINT和CHAR CHAR仓库定义了72个字符,由自定的字符串长度决定的 char没有从0开始;PLC字符串长度为(2+n);第一个byte保存的是最大长度,第二个是当前长度,后面才是用户指定的长度,如str 阅读全文
posted @ 2024-05-13 13:25 你要去码头整点薯条吗 阅读(175) 评论(0) 推荐(0)
摘要:这套程序本来是在Smart200上玩出来的,后来在PLC1200/PLC1500的环境下重写了PLC程序。换句话说,这要遵守程序里的算法公式,不管什么PLC都能做出这几种波形 1. 采样时间 想要生成连续的波形图,本质就是在采样时间点上采集当前输出值,当采样点足够多的时候,在时间线上就形成了随时间变 阅读全文
posted @ 2024-05-13 11:40 你要去码头整点薯条吗 阅读(1410) 评论(0) 推荐(0)
摘要:PLC中的循环 在PLC指令的执行过程中,FOR循环会在每个扫描周期执行完所有循环,然后程序才会接着往下扫描; 在PLC指令的执行过程中,IF判断会在每次扫描中判断一次条件,满足则进入执行体,不满足则跳出IF; 把IF放在FOR循环里面,会导致循环体执行时间过长,或者其他问题吗?(答案是不会)毕竟每 阅读全文
posted @ 2024-05-13 10:35 你要去码头整点薯条吗 阅读(931) 评论(0) 推荐(0)
摘要:向导 只想看S7-300和S7-1200 TCP连接实例的朋友请直接点击这里 OUC 开放式用户协议,包括ISO,ISO-on-TCP,TCP/IP,UDP四种。西门子PLC中有多种不同的方式建立连接。 在硬件组态中建立TCP通信 打开硬件组图,网络视图 添加新连接 填入本地ID,关于本地ID:针对 阅读全文
posted @ 2024-05-12 09:41 你要去码头整点薯条吗 阅读(3216) 评论(1) 推荐(0)
摘要:建立ARRAYDB 集合配方需要的所有元素结构,组成一个UDT(包含范围最全) 新建一组ARRAY DB,元素的个数就是配方需要的副本的个数 数组DB勾选仅存储在装载内存中,以便数据量大的配方不占用数据工作存储器空间,节省资源 在ARRAY DB的起始值处填写配方的具体值 1200不支持ARRAY 阅读全文
posted @ 2024-04-30 23:22 你要去码头整点薯条吗 阅读(174) 评论(0) 推荐(0)
摘要:上升沿 //pulse generate IF #my_singal AND NOT #pulse_bool THEN ; END_IF; #pulse_bool := #my_singal; 数值记忆,记录当数值变化时事件 //memory,my_order由外部主动触发 IF #my_order 阅读全文
posted @ 2024-04-30 22:30 你要去码头整点薯条吗 阅读(178) 评论(0) 推荐(0)
摘要:用AQ2ST和AI4ST做回环测试,主要是验证AQ2和AI4手册上的DS数据集 DS参数写入 REGION params input IF NOT #In_SelectedChannel THEN #params_AQ2ST.RDREC.index := 64; #params_AQ2ST.WRRE 阅读全文
posted @ 2024-04-30 16:23 你要去码头整点薯条吗 阅读(56) 评论(0) 推荐(0)
摘要:用AI4ST做的模板,使用AI4前两个通道值,一个通道值占用一个IW,共占用2个word。 RD_ADDR读出地址起始位 //get iw by hw_io #tempAIw := RD_ADDR(LADDR := #AI4ST_Control.ai_hwio, PIADDR => #AI_rdad 阅读全文
posted @ 2024-04-30 16:19 你要去码头整点薯条吗 阅读(71) 评论(0) 推荐(0)
摘要:什么叫组态控制? 从应用场景上来看,如果现在集成了一个系统,它既包括了生产A要用的全部I/O系统,又包括可生产B和C等等要用的全部I/O系统。但是ABC的生产I/O不一样(硬件组态不尽相同)。 这个时候我就想用一套程序(包括硬件组态)就能适配全部的ABC生产。另外我在切换硬件组态的时候还要要求不能停 阅读全文
posted @ 2024-04-19 17:07 你要去码头整点薯条吗 阅读(295) 评论(0) 推荐(0)
摘要:地址相关 //依据HWIO计算IW QW地址 #tempAIw := RD_ADDR(LADDR := #Interface_panel.AI_HW_IO, PIADDR => #AI_rdaddr.piadder, PICount => #AI_rdaddr.picount, PQADDR => 阅读全文
posted @ 2024-04-19 11:29 你要去码头整点薯条吗 阅读(113) 评论(0) 推荐(0)
摘要:间接寻址。它很基础,基础到我们无时无刻都在用,但是同时它也很难理解,因为其实寄存器的概念已经被渐渐隐藏了。 地址的概念 我们通常提到的物理输入输出印象区P,印象输入区I,印象输出区Q,位存储区M,定时器T,计数器C,数据区DB,背景数据区DI,本地数据区L。 每个区域(除T/C)都可以用BIT,BY 阅读全文
posted @ 2024-04-18 23:24 你要去码头整点薯条吗 阅读(454) 评论(1) 推荐(0)