贺州西门子代理商
- 供应商
- 浔之漫智控技术-西门子PLC代理商
- 认证
- 报价
- ¥666.00元每件
- 品牌
- 西门子
- 产品规格
- 模块式
- 产地
- 德国
- 手机号
- 15221406036
- 经理
- 聂航
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 更新时间
- 2024-05-08 07:10
贺州西门子代理商
产品说明:simatic s7-300, cpu 314c-2 dp紧凑型cpu带有mpi,24 数字量输入/16 数字量输出,4模拟量输入, 2模拟量输出, 1 pt100,4个高速计数器(60 khz),集成 dp 接口,集成24v dc 电源,192kb工作存储区,前连接器 (2 x 40针) 需要mmc卡。
应用范围:
cpu 314c-2 dp 是紧凑型 cpu,可用于具有分布式结构的系统。
通过其扩展工作存储器,该紧凑型cpu也适用于中等规模的应用。
集成数字量和模拟量 i/o,支持与过程的直接连接:
profibus dp主站/从站接口支持与分布式 i/o 的连接。
因此,cpu 314c-2 dp 既可以用作分布式单元进行快速预处理,也可以用作带下位现场总线系统的上位控制器。
集成技术工程的其他用途包括:
计数
频率测量
周期测量
脉宽调制
pid 控制
定位控制
中断源即发出中断请求的事件,又叫中断事件。为了便于识别,系统给每个中断源都分配一个编号,称为中断事件号。s7-200系列可编程控制器多有34个中断源,分为三大类通信中断、输入/输出中断和时基中断。
plc应远离强腾桦源,柜内plc应远离动力线二者之间距离应大于mm),与plc装在同一个柜子内的电感性负载,如功率较大的继电器器的线圈,应并联rc消弧电路。电动机使用工频电源驱动时,电压下降则电流;对于变频器驱动,如果下降时电压也下降,那么电流是否。采取控制方式后,一般要根据控制精度,需要进行静态或动态辨识。这一控制建立在一个了的电机模型上,该电机模型的对负载和转差进行了补偿。
ipc 系列 547、647 和 847 的共享工业功能
使用 intel core 处理器,可针对工业环境中的复杂自动化任务和计算量很大的 pc 任务实现高系统性能
设计用于 24 小时连续运行
具有监视和诊断功能(如针对温度、风扇、 )
raid1 配置(镜像磁盘),可以选用“热插拔”硬盘托架
硬盘大容量高达 1 tb,可用于存储大批量数据
ssd (固态硬盘驱动器),还可选作为 raid1 组态
冗余交流电源,可选
尺寸小型紧凑,可以安装在深度仅 500mm 的控制箱中
由于使用了过压通风设计将风扇安装在前部以及防尘滤网,实现了防尘保护
可锁定的前门
由于使用现成的伸缩式导管进行安装,实现了维护友好型设备设计
实现了维护友好型设计,如可从前面更换风扇/过滤网,无需使用工具,打开机箱只需松开一个螺丝。
标准实现为工业工作站或服务器
预安装、激活了操作系统,可以实现快速启用
由于配有重建 dvd,可以实现将硬盘快速恢复到交付时的状态
组件具有高灵活性和可可扩展性
带有 pci 和 pci experess 扩展槽
独立的工业化产品设计
simatic ipc347e – 高性价比
intel pentium 和 intel core i 处理器,第 4 代
可锁定的前盖
40 °c 室温下不间断工作且无能量损失
可从库存及时提供 5 种配置
可用性至少为 1.5 年
s7-200 寻址时,可以使用不同的数据长度。不同的数据长度表示的数值范围不同。s7-200 指令也分别需要不同的数据长度。
s7-200系列在存储单元所存放的数据类型有布尔型(bool)、整数型(int )、实数型和字符串型四种。数据长度和数值范围如表6所列。
表1 数据长度和数值范围
● 实数的格式
实数(浮点数)由32位单精度数表示,其格式按照ansi/ieee754-1985标准中所描述的形式。实数按照双字长度来存取。对于s7-200来说,浮点数**到小数点后第六位。因而当使用一个浮点数常数时,zui多可以到小数点后第六位。
● 实数运算的精度
在计算中涉及到非常大和非常小的数,则有可能导致计算结果不**。
● 字符串的格式
字符串指的是一系列字符,每个字符以字节的形式存储。字符串的*个字节定义了字符串的长度,也就是字符的个数。一个字符串的长度可以是0到254个字符,再加上长度字节,一个字符串的zui大长度为255个字节。而一个字符串常量的zui大长度为126字节。
● 布尔型数据(0或1)。
● s7-200cpu不支持数据类型检测
例如:可以在加法指令中使用vw100中的值作为有符号整数,同时也可以在异或指令中将vw100中的数据当作无符号的二进制数。
● s7-200提供各种变换指令,使用户能方便地进行数据制式及表达方式的变换
西门子ppi协议分析:
西门子s7-200plc之间或者plc与pc之间通信有很多种方式:自由口,ppi方式,mpi方式,profibus方式。使用自由口方式进行编程时,在上位机和plc中都要编写数据通信程序。使用ppi协议进行通信时,plc可以不用编程,而且可读写所有数据区,快捷方便。但是西门子公司没有公布ppi协议的格式。用户如果想使用ppi协议监控,必须购买其监控产品或第三方厂家的组态软件。这样给用户自主开发带来一定困难,特别是自行开发的现场设备就不能通过ppi协议接入plc。其它通讯方式编程也存在编程复杂,需要购买软件和授权等局限性(1)。通过数据监视、分析的方法,我们找出了ppi协议的关键报文格式,可用于上位机、现场设备与s7-200cpu之间通讯。
pc与plc采用主从方式通讯,pc按如下的格式发读写指令,plc作出接收正确的响应(返回应答数据e5h或f9h见下文分析),上位机接到此响应则发出确认命令(1002 5c 5e 16),plc再返回给上位机相应数据。
一般上位机要连接plc就要先发送如下数据 10 02 00 49 4b 16你可以理解为我们常用的对讲机通话模式:00呼叫02,听到请回答 10起始符 02是之上位机要联系的下位级的地址站号00就是上位级本本身自己的站号 49寻呼指令 16终止符其中4b为校验码,是这样得来的:02+00+49的后两位就是校验码,这就是所说的偶校验或称和校验。计算器在16进制计算时公式(02+00+49)mod100得出的数就是校验码,你计算一下是不是等于4b啊!其他的所有ppi协议校验都是如此。假如02站号的plc收到寻呼信号那么会回答:10 00 02 00 02 16 意思是:报告00,02收到,请指示 这样的解释是不是有意思啊!你有更好的解释吗?
我们先来看看西门子老型号的plc的读密码指令:
请用串口软件以16进制发送,端口设置9600;e;8;1
发送:68 1b 1b 68 02 00 6c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a10 02 00 08 00 00 03 00 05 e0 d216 意思:要求传送系统存储区05e0位开始的8个字符。
如果通讯无误,plc会返回 e5,意思:已经收到
那么这时上位机再次发送指令 10 02 00 5c 5e 16 意思:请执行命令。那么这时plc就真的执行命令了返回如下字符:681d 1d 68 00 02 08 32 03 00 00 00 00 00 02 00 0c 00 00 04 01 ff 0400 40 9b 98 02 06 9d 9a 00 76 7d 16
好了,说到这里就此停止,大家看看密码是多少啊!你多做实验一定能得出结果的。
cn plc中鲜为人知的二次加密:
上面是plc所返回的密码,但是已经加密了,你如果不懂解码,还是算不出密码来。其实新版的plc不光cn一种,所有02版的plc在加密的时候都改动了密码,密码在传输的过程中进行了再加密!这就是鲜为人知的二次加密!看下面我做的通过串口监视截获的数据:
我下载程序,当软件要求我输入下载密码的时候,我输入密码:22222222,可是截获的竟然是一组这样的数据:68 21 21 68 0200 7c 32 07 00 00 00 19 00 08 00 0c 00 01 12 04 11 45 01 00 ff 0900 08 67 67 00 00 67 67 00 00 fe 16
提示: 67 67 00 00 67 67 00 00 其实就是我刚才输入的8个2的密码,在这里加密了。。。。
下面呢我公布一下二次加密的代码。大家来算一下,这个数据是怎么得来的。
密码代码:无大小写区分
0=65 1=64 2=67 3=66 4=61 5=60 6=63 7=62 8=6d 9=6c a=14 b=17 c=16 d=11 e=10 f=13 g=12 h=1d i=1c j=1f k=1e l=19 m=18 n=1b o=1a p=05 q=04 r=07 s=06 t=01 x=0d y=0c z=0f
怎样读取plc的版本号:
我们在***中首先要确定的是plc的版本号。就是要看看是老版本还是02版的,也好做出加***方案。他的通讯源码是这样的:68 1b1b 68 02 00 7c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a 10 02 0014 00 00 03 00 00 00 09 16
发送完上面数据plc返回e5.再次发送确认指令:10 02 00 5c 5e 16 这时plc的版本号就返回来了。看下面:
68 29 29 68 00 02 08 32 03 00 00 00 00 00 02 00 18 00 00 04 01 ff04 00 a0 43 50 55 20 32 32 36 20 43 4e 20 20 20 20 20 20 30 32 3031 d7 16
你看这一段:43 50 55 20 32 32 36 20 43 4e 20 20 20 20 20 20 30 32 30 31就是plc版本号的ascii码。用asc方式显示就会看的更明白上面数据是:c p usp 2 2 6 spc n 0 2 0 1(sp就是空格)
读取密码保护位(保护等级)指令
68 1b 1b 68 02 00 6c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a 1002 00 01 00 00 03 00 05 d8 c3 16
全部清空plc指令:
68 21 21 68 02 00 7c 32 07 00 00 00 24 00 08 00 0c 00 01 12 04 1145 01 00 ff 09 00 08 16 19 06 0d 01 08 18 1e ee 16
读命令分析
一次读一条数据
对于一次读取一个数据,读命令都是33个字节。前面的0—21字节是相同的,为 :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
开始符 长度 长度 开始符 站号 源地址 功能码
sd le ler sd da sa fc
68 1b 1b 68 02 00 6c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a 10
0 1 2 3 4 5 6 7 8 9 10
sd le ler sd da sa fc dsap
68 1b 1b 68 02 00 6c 32 01 00 00 00 00 00 0e 00 00 04 0112 0a 10
22 23 24 25 26 27 28 29 30 31 32
读取长度 数据个数 存储器类型 偏移量 校验 结束
du fcs ed
02 00 08 00 00 03 00 05 e0 d2 16
68 1b 1b 68 02 00 6c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a 1002 00 08 00 00 03 00 05 e0 d2 16
68 1b 1b 68 02 00 7c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a 1002 00 14 00 00 03 00 00 00 09 16
因为是pc上发的读plc数据的命令,sa=00,da=02,如果有b多个站,da要改成相应的站号。读命令中从da到du的长度为1b即27个字节。从22字节开始根据读取数据的类型、位置不同而不同。表一是读不同存储器命令的byte22—32。
字节 22 23 2425 26 27 28 2930 31 32
功能 读取长度 数据个数 存储器类型 偏移量 校验 结束
读q0.0 01 00 01 00 0082 00 00 00 64 16
读m0.0 01 00 01 00 0083 00 00 00 65 16
读m0.1 01 00 01 00 0083 00 00 01 66 16
读smb34 02 00 01 00 0005 00 01 10 f9 16
读vb100 02 00 01 00 0184 00 03 20 8b 16
读vw100 04 00 01 00 0184 00 03 20 8d 16
读vd100 06 00 01 00 0184 00 03 20 8f 16
读i0.5 01 00 01 00 0081 00 00 05 68 16"
读i0.7 01 00 01 00 0081 00 00 07 6a 16"
表 一 读命令的byte22-32
从表中我们可以得出以下结果:
byte 22 读取数据的长度
01:1 bit 02:1 byte
04:1 word 06:double word
byte 24数据个数,这里是01 ,一次读多个数据时见下面的说明。
byte 26 存储器类型,01:v存储器 00:其它
byte 27 存储器类型
04:s 05:sm 06:ai 07:aq 1e: c
81:i 82:q 83:m 84:v 1f: t
byte28,29,30存储器偏移量指针(存储器地址*8),如:vb100,存储器地址为100,偏移量指针为800,转换成16进制就是320h,则byte28—29这三个字节就是:00 03 20。
byte 31 校验和,前面已说到这是从(da+sa+dsap+ssap+du) mod 256 。
一次读多条数据
对于一次读多个数据的情况,前21byte与上面相似只是长度ld,ldr及byte 14不同:
byte 14数据块占位字节,它指明数据块占用的字节数。与数据块数量有关,长度=4+数据块数*10,如:一条数据时为4+10=0e(h);同时读m,v,q三个不同的数据块时为4+3*10=22(h)。
byte 22 总是02 即以byte为单位。
byte 24 以字节为单位,连续读取的字节数。如读2个vd则byte24=8
byte 19---30 按上述一次读一个数据的格式依次列出,
byte 31---42 另一类型的数据,也是按上述格式给出。
以此类推,一次多读取222个字节的数据。
写命令分析
一次写一个double word类型的数据,写命令是40个字节,其余为38个字节。
写一个double word类型的数据,前面的0—21字节为 :
68 23 23 68 02 00 6c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a10
写一个其它类型的数据,前面的0—21字节为 :(与上面比较,只是长度字节发生变化)
68 21 21 68 02 00 6c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a10
从22字节开始根据写入数据的值和位置不同而变化。表二是几个写命令的byte22—40。
字 节 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
写入位置及值长度 个数 类型 偏移量 位数值、校验码、 结束符
m0.0=1 01 00 01 00 00 82 00 00 00 00 03 00 01 01 00 71 16
m0.0=0 01 00 01 00 00 83 00 00 00 00 03 00 01 00 00 70 16
m0.1=1 01 00 01 00 00 83 00 00 01 00 03 00 01 01 00 72 16
vb100=10 02 00 01 00 01 84 00 03 20 00 04 00 08 10 00 ae 16
vb100=ff 02 00 01 00 01 84 00 03 20 00 04 00 08 ff 00 9d 16
vw100=ffff 04 00 01 00 01 84 00 03 20 00 04 00 10 ff ff a6 16
vd100=ffffffff 06 00 01 00 01 84 00 03 20 00 04 00 20 ff ff ff ffb8 16
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
开始符 长度 长度 开始符 站号 源地址 功能码
00 05 05 01 12 0a 10
68 21 21 68 02 00 7c 32 01 00 00 00 00 00 0e 00 00 04 01 12 0a 10
68 20 20 68 2 0 7c 32 1 0 0 0 0 0 e 0 5 5 1 12 a 10
2 0 1 0 1 84 0 32 00 4 0 8 c b9 16
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
数据长度 数据个数 存储类型 偏移量 数据形式 数据位数 写入值 校验码 结束符
02 00 01 00 01 84 00 03 20 00 04 00 08 0c b9 16
01 00 01 00 00 82 00 00 00 00 03 00 01 01 79 16
表二 写命令的byte22—40
经分析我们可以得出以下结果:
byte 22-- byte 30 写入数据的长度、存储器类型、存储器偏移量与读命令相同。t,c等不能用写命令写入。
byte 32 如果写入的是位数据这一字节为03,其它则为04
byte 34 写入数据的位数
01: 1 bit 08: 1 byte 10h: 1 word 20h: 1 double word
byte 35--40值、校验码、结束符
如果写入的是位、字节数据,byte35就是写入的值,byte36=00,byte37=检验码,byte38=16h,结束。如果写个的是字数据(双字节),byte35,byte36就是写入的值,byte37=检验码,byte38=16h,结束。如果写个的是双字数据(四字节),byte35—38就是写入的值,byte39=检验码,byte40=16h,结束。
1、 报文数据长度和重复数据长度为自da至du的数据长度,校验码为da至du数据的和校验,只取其中的末字节值。其中蓝色的da应为sa,即从第二个其始符68h后一个字节到校验码前一个字节。
2“68 1b 1b 68 2 0 6c 32 1 0 0 0 0 0 e 0 0 4 1 12 a 10 2 0 1 0 1 840 3 20 8b 16
plc返回数据 e5 后,确认读取命令,发送以下数据:
10 2 0 5c 5e 16
然后上位机vb程序接受到以下数据:
68 16 16 68 0 2 8 32 3 0 0 0 0 0 2 0 5 0 0 4 1 ff 4 0 8 22 7816
首先识别目标地址和源地址,确认是这次申请的返回数据,然后经过校验检查,正确后解析出第26号数据(&h22)即为vb100字节的数据。”用这个格式可以读s7-200中v变量的连续字节,从1个到222个(未验证,采用原文数据)。
对于上位机发出次指令中红色数据在读数时会改变,意义如下:
红色1表示的是读的字节数,可从1到222。
红色84为数据类型,参见上文。
红色03 20表示读的字节数的起始地址指针,从该地址开始连续读1到222个字节。
红色8b是校验码。
上位机接收到e5后发出的确认命令在读v变量是不会改变,一直是该几个字符。
下位机后发送的字符串中红色数据的意义如下:
红色16是报文长度,在这里也有规律,即读一个字节为16,读两个字节为17,n个字节为16+n—1。
红色0 8表示读的字节数,以8为单位,一个字节为8,两个字节为10,采用16进制,8个字节为40,依此类推。
红色22的这个位置在读n个字节时可以有n个数据,数据从起始字节地址开始依次排列。
红色78为校验码