6ES7315-7TJ10-0AB0 漳州代理商 西门子CPU 6ES7315-7TJ10-0AB0 漳州代理商 西门子CPU
SIEMENS长沙奈欧自动化设备有限公司
我公司理西门子全系列产品欢迎
来电 电话:13762110473(微信同步)
长沙奈欧自动化设备有限公司
联系人:刘文秀(销售经理)
商务QQ:1533714462
”信誉,客户至上“是公司成立之初所确立的宗旨,在公司的严格要求和员工们不折不扣地贯彻执行下发展延续至今。“假一罚十”一直是我公司的承诺。
【信誉、诚信交易】【长期销售、】
【称心满意、服务动力】【真诚面对、沟通无限】
我公司长期销售西门子PLC模块6ES7331-7KF02-0AB0 6ES7321-1BL00-0AA0 6ES7322-1BL00-0AA0 6ES7332-5HF00-0AB0 6ES7153-1AA03-0xB0 6XV1830-0EH10电缆 6ES7972-0BA12-0xA0接头 6GK1503-3CB00光纤链路模块 6ES7307-1EA00-0AA0 6ES7953-8LJ30-0AA0内存卡 西门子PLC模块315-2DP 6ES7315-2AH14-0AB0 西门子PLC模块6ES7315-2EH14-0AB0 西门子PLC模块6ES7214-2BD23-0xB8 处理6GK7343-1EX30-0xE0 屏66643-0CD01-1AX1 销售西门子6SN1145-1BA02-0CA2
手机:13762110473
公司地址:长沙市岳麓区天顶街道尖山安置公寓楼702
———————————————————————————————————
【服务、一诺千金】【承诺、客户满意】
24小时西门子PLC销售:13762110473微信同步
西门子总公司-长沙奈欧伺服公司经营西门子全新原装现货PLC;S7-200S7-300 S7-400 S7-1200 屏,变频器,6FC,6SN,S120 G120C V90 V80伺服数控备件:原装进口电机(1LA7、1LG4、1LA9、1LE1),国产电机(1LG0,1LE0)大型电机(1LA8,1LA4,1PQ8)伺服电机(1PH,1PM,1FT,1FK,1FS)西门子全新原装产品‘质保一年。 西门子伺服驱动器现货
长沙奈欧自动化设备有限公司 刘文秀 13762110473
1、SMS基础知识介绍
SMS(Short Messaging Service)是最早的短消息业务,也是现在普及率最高的一种短消息业务。目前,这种短消息的长度被限定在140字节之内,这些字节可以是文本的。SMS以简单方便的使用功能受到大众的欢迎,却始终是属于第一代的无线数据服务,在内容和应用方面存在技术标准的限制。
一个SMS消息最长可包括 160个字符(偶数二进制)。
SMS是一种存储和转发服务。也就是说,短消息并不是直接从发送人发送到接收人,而始终通过SMS中心进行转发的。如果接收人处于未连接状态(可能电话已关闭),则消息将在接收人再次连接时发送。
SMS具有消息发送确认的功能。这意味着
SMS与寻呼不同,用户不是简单地发出短消息然后相信消息已发送成功;而是短消息发送人可以收到返回消息,通知他们短消息是否已经发送成功。
SMS 消息的发送和接收可以和 GSM 语音同步进行。
SMS 消息按消息收费,因此要比通过基于 IP 的网络(例如,使用 GPRS [通用分组无线业务])发送的数据昂贵得多(每字节)。
要使用 SMS,用户需要预订支持 SMS 的移动网络,并且必须为该用户启用 SMS 的使用。用户需要有发送短消息或接收短消息的目的地。该目的地通常是其他的移动电话,但也可以是服务器。最后,用户还需要有支持 SMS 的移动电话,并需要了解如何使用其特定型号的移动电话发送或阅读短消息。
SMS发送的模式分有两种:Text模式和PDU模式.
使用Text模式收发短信代码简单,实现起来十分容易,但是最大的缺点是不能收发中文短信, PDU模式完全可以解决这个问题,PDU模式不仅支持中文短信,也能发送英文短信, PDU模式收发短信可以使用三种编码: 7-bit、8-bit和UCS2编码。 7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。我们要实现中文短信的发送,所以选择UCS2,即中文Unicode码。下面是关于两种方式发送的示例AT指令:
范例:向手机号码13801234567发送短信“Weather”
(1) TEXT方式
AT+CMGF=1<CR> …………设置短信发送方式为TEXT模式
AT+CMGS=”13801234567”<CR> …………向被叫号码发短信
> Weather <CTRL+Z>
(2) PDU方式
AT+CMGF=0<CR> ……………设置短信发送方式为PDU模式
AT+CMGS=018<CR> ……………向被叫号码发送PDU的长度
>0001000D91683108214365F700080459296C14<CTRL+Z>
注:PDU方式中AT+CMGS命令解释:
AT+CMGS=XXX<CR> …XXX表示PDU中TPDU的长度
>PDU ...输入PDU信息
0001 :基本参数 00 :消息基准值TP-MR 0D :目标地址数字个数(十进制,不包含91) 91 :目标地址格式 68 :目标地址为中国 3108214365F7 :目标地址(13801234567) 00 :协议标示TP-PID 08 :用户信息编码格式TP-DCS(08表示UCS2编码) 00 :有效期TP-VP 04 :用户信息长度TP-UDL 59296C14 :用户信息(“天气”) |
其中,红色的数字(3108214365F7)代表对方的手机号码,在PDU格式中,手机号码每两位需要对调。比如在上面这个例子里,对方的手机号码为13801234567,F用来补充7后面的空位。蓝色的数字(59296C14)是短消息内容的Unicode码,这里5929代表“天”6C14代表“气”。Unicode码同样可以用来表示中一般英文字母和数字,方法是在英文或数字的ASCII码前加00。紫色的数字(04)代表短消息的长度,它等于其后所有字符个数除以2。黑色的数字每次发送短消息时都是相同的,使用时可以照抄,但前提是所使用的SIM卡在使用前要用手机设置好短消息服务中心号码(+8613800100500)。汉字的Unicode码可以通过编码转换软件得到。
PDU格式发送短消息时,还必须计算整个PDU数据包的长度,PDU数据包的长度等于(PDU数据包字符数-2)/2,在上面的例子里:(38-2)/2=18。
2、网络结构图
硬件的连接, S7-300CP后接CP340(RS232串口)或CP341(RS232串口),再通过串口直连线连接CP340或CP341到MD720-3的串口上,MD720-3插一块SIM卡。直连线的1针到9针对应连接。
图1、网络结构图
3、需要的软件及硬件
硬件
Component | Qty. | MLFB / Order number | Note |
PS307 5A | 1 | 6ES7307-1EA00-0AA0 | |
CPU317-2PN/DP | 1 | 6ES7317-2EJ10-0AB0 | |
CP341 | 1 | 6ES7341-1AH01-0AE0 | |
MD720-3 | 1 | 6NH9720-3AA00 | |
直连线 | 1 | 6ES7901-3CB30-0XA0 | |
SIM card |
表1、硬件列表
软件
Component | No. | MLFB / Order number | Note |
STEP 7 5.4 SP4 | 1 | 6ES7810-4CC08-0YA5 |
表2、软件列表
4、以TEXT的方式发送SMS
在这里不介绍用自由口编程的方式编写AT的指令来发送SMS,而是采用西门子提供库功能块来编写程序。库程序的下载链接地址如下:26100569
上面库程序是压缩文件,先解压缩到一个目录下,在该目录下又会看到3个压缩文件,再解压这三个压缩文件,解压缩后如下图所示:
图2、存放目录
从上图中,解压三个压缩文件后Sms_bloc;SMS_MD720_Application;Sms_MD720_Simple
Sms_bloc: 包括了使用CP340、CP341、CP442-1收发短信的库功能。
Sms_MD720_Application:包含了用CP341和CP442-1收发短信的应用程序。
Sms_MD720_Simple:包含了一个用Cp341收发短信的简单应用程序
由于三个文件夹的程序只有Sms_MD720_Simple的程序是完整的,另外两个文件夹下的程序由于编者的疏忽,程序不完整,导致无法正常编译通过。所以在本文里我们只能介绍,通过拷贝Sms_MD720_Simple项目下的功能块到实际的项目中来实现发送短信的功能。
在新建项目前,需要硬件按照网络图安装好,并加电。MD720加电后恢复出厂设置,让其工作在终端模式下(在MD720的系统手册上介绍如何恢复出厂设置,这里不再作详细介绍),恢复后用串口直连线,连接MD720与计算机的串口,打开计算机的超级终端程序,打开方式如下图:
图3、打开超级终端
打开后在连接描述的窗口里输入一个连接名如下图:
图4、输入连接名
点击OK后,选择与计算机连接的串口,这里连接的是串口1,所以设置如下图:
图5、选择COM端口
在上图点击OK按钮后,设置串口的通讯参数如下:
图6、COM口的参数设置
点击OK按钮后,在出现的串口里先输入 “+++”后,输入“AT”检查与Modem的连接是否正常,若正常则Modem会返回OK,如下图:
图7、测试与Modem的连接
然后在输入指令“AT+IRP=9600”修改通讯波特率为9600如下图所示:
图8、设置Modem的波特率
修改成功后,把连接计算机上的串口拔下后,把9针口连接到CP341的串口上。
打开Step7 Manger,打开后点击File菜单下的New…,新建一个项目,在新建项目的串口里输入项目SMS_CP341,然后点击新建,项目的硬件组态如下图所示:
图9、S7-300站的硬件组态
双击CP341-RS232C,打开属性窗口如下图:
图10、CP341的硬件地址设置
点击Parameter...,设置串口的通讯协议为
图11、选择通讯协议为ASCII
双击Protocol协议包,配置串口通讯的参数如下图:
图12、设置ASCII的通讯参数
图13、设置传输的控制方式
图14、设置接收的缓存区
配置完硬件后,编译并下载硬件组态,然后打开Sms_MD720_Simple项目,并拷贝Sms_MD720_Simple项目下的除OB1功能块外的所有功能块到SMS_CP341项目相应的目录下,同时需要拷贝Source下的源代码到SMS_CP341项目下的Source目录下。
拷贝后如下图:
图15、拷贝库程序到项目下
打开OB1块,在OB1里调用FB100,背景数据块为DB100,如下图所示:
图16、OB1中调用短消息功能块
在CP_ADR中只需输入CP341的逻辑地址256。输入后保存程序。编写OB1后打开DB100数据块如下图:
图17、在发送功能块的背景数据块中设置修改CP341的硬件地址
这里SIM卡无PIN码,要发送的信息是“Weather”;发送的手机号为“13801234567”;设置DB100的参数如下图:
图18、在发送功能块的背景数据块中设置PIN码、目的手机号及信息
修改后保存DB100,并下载所有的程序块到CPU中。下载后打开打开变量监控表并在线监控,如下图:
图19、通过变量监控表触发信息发送
在变量监控表里先置位”SMS”.b_init,然后在置位”SMS”.SEND,等待一会儿,可以看到变量监控表里的”SMS”.n_status当置位”SMS”.b_init时会从1002变成201,然后当置位”SMS”.SEND时会从201变成202、204、206,过一会儿又回到201的值,这样接可以再目的手机上接收到“Weather”的短信。
上面的调试步骤只是从功能上实现了发短信的功能,要实现收发多条信息到多个多个手机,可以参考Sms_MD720_Application和Sms_MD720_Simple下的编程思路开发适合自己应用的程序。
注意:如果例子项目文件打不开,请把计算机的语言设置为德语。
5、以PDU的方式发送中文SMS
要发送中文短信,需要安装Step7 SCL编程语言包,发送短信库功能块是由FB100来完成的,FB100是由SCL语言编写,要想使其能发送中文的短信,那么就需要用SCL语言修改FB100功能块。修改方式如下:
在发送文本方式步骤的基础上,用SCL语言打开SMS_CP341项目下目录Source下的SMS_Send源代码,如下图:
图20、打开发送功能块的源文件
打开后如下图:
图21、SCL编辑器打开后的源文件
修改源程序代码MD720_SMS_Textmode := '$R$LAT+CMGF=1$R'为MD720_SMS_Textmode := '$R$LAT+CMGF=0$R'如下图所示:
图22、修改短信的发送模式为PDU模式
str_outbox := SMS_Textmode_Attr;改为str_outbox :=MD720_SMS_Textmode;如下图:
图23、修改程序中的发送模式
修改后,点击File下Save,然后再点击File下的Complie,如下图:
图24、重新编译修改后的程序
关闭SCl编辑窗口,若发送的目的手机号为13801234567发送的内容为“天气”打开DB100,修改发送参数如下图:
图25、修改为PDU模式下的信息格式
描述:
集成 PROFINET 口的 CPU 和 WinAC RTX ,支持开放式 IE 通信。
关于集成 PROFINET 口的 CPU 和 WinAC RTX 所支持的通信服务总览,请参见条目18909487 。此总览包含有关集成 PROFINET 口的 CPU 和 WinAC RTX 所支持的开放式 IE 通信协议的信息。
下列通信块可以用于基于 TCP 协议的开放式通信:
这些通信块可以在 Standard Library -> Communication Blocks 下找到。
从标准库中拷贝最新版本的上述通讯块到用户程序中,然后再编写程序中调用它们。
建立 TCP 连接的连接参数保存在一个数据结构中。
本例中,用到 UDT65 "TCON_PAR" 这个数据结构,保存在DB1中并由用户参数化。 注意
字节 | 参数 | 数据类型 | 描述 |
0 to 1 | block_length | WORD | "OUCW_2" 数据结构长度 |
2 to 3 | id | BYTE |
连接标识 值范围: w#16#0001 至 w#16#0FFF 必须在相关块ID中指定该参数。 |
4 | connection_type | BYTE | TCP 协议版本: B#16#11 |
5 | active_est | BOOLEAN |
建立连接标识
|
6 | local_device_id | BYTE | 通过CPU 315-2 PN/DP集成PN接口通信:B#16#02 |
7 | local_tsap_id_len | BYTE |
local_tsap_id 长度 connection_type = B#16#11时可行值:0或2 (主动端:0或2,被动端:2) |
8 | rem_subnet_id_len | BYTE | 当前不可用,参数值B#16#00 |
9 | rem_staddr_len | BYTE |
远程连接端点地址长度
|
10 | rem_tsap_id_len | BYTE |
rem_tsap_id beter参数 connection_type = B#16#11时的可行值:0或2 |
11 | next_staddr | BYTE | next_staddr 长度 |
12 to 27 | local_tsap_id | ARRAY [1..16] of BYTE |
本地端口号:2000,例如 local_tsap_id[1] = B#16#7 (十六进制端口号高字节) local_tsap_id[2] = B#16#D0 (十六进制端口号低字节) local_tsap_id[3-16] = B#16#00 |
28 to 33 | rem_subnet_id | ARRAY [1..6] of BYTE | 当前不可用,参数值B#16#00 |
34 to 39 | rem_staddr | ARRAY [1..6] of BYTE |
远程连接端点IP地址: 192.168.0.30 rem_staddr[1] = B#16#C0 rem_staddr[2] = B#16#A8 rem_staddr[3] = B#16#00 rem_staddr[4] = B#16#1E rem_staddr[5-6] = B#00(保留) |
40 to 55 | rem_tsap id | ARRAY [1..16] of BYTE |
远程连接端点端口号: 2000,例如 local_tsap_id[1] = B#16#7 (十六进制端口号高字节) local_tsap_id[2] = B#16#D0 (十六进制端口号低字节) local_tsap_id[3-16] = B#16#00 |
56 to 61 | next_staddr | ARRAY [1..6] of BYTE | next_staddr[1-6] = B#16#00 |
62-63 | spare | WORD | 保留,值W#16#0000. |
例程描述:
S7 程序中包含了对 FB65 "TCON" 的调用和带有建立 TCP 连接的连接参数数据结构"OUCW_2" 创建的DB1 。也包含了来自于 Standard Library -> Communication Blocks 下的 FB63 "TSEND" 和 FB64 "TRCV" 的调用。 FB63 "TSEND" 用于发送数据到 S7 站或 S5 站,以及到 PC 站或到第三方系统. FB64 "TRCV" 用于接收来自其他 S7 站,S5 站,PC 站和第三方系统的数据。
首先为 S7-300 站创建硬件组态。注意配置 MB100 作为时钟存储器。 发送请求由该时钟存储器触发。保存编译 S7-300 站的硬件组态,下载到 CPU。
STEP 7 程序由 OB100,OB1,FB1, DB11,DB1,DB100,DB200 , FB63,FB64,FB65 和 FB66。
OB100:
OB100 是重启 OB 块,当 CPU 重新启动时 (暖启动) 执行一次.在 OB100 中,第一次通信由 M0.3 触发。
OB1:
OB1 循环调用。 FB1 在 OB1 中被调用 (背景数据块: DB11) , M0.3作为 INIT_COM 参数,M10.0作为ABORT参数。在 OB1 中调用 FB1结束后, 复位M0.3。
图. 01
FB1:
在 OB1 中调用 FB1。该 FB1 中调用以下功能块:
图. 02 连接建立
通过 FB65"TCON" 的输入参数 "REQ" 的上升沿触发来建立连接。数据块DB11 的背景数据块中集成了带有连接参数的数据结构 "OUCW_2"。
FB65 "TCON" 的输入参数 "CONNECT" 需要指定一个含有连接参数的存储区。
在系统启动时连接建立并保持,直到调用 FB66 "TDISCON" 来断开连接,或让CPU 进入停止模式或关闭电源来断开连接。
图. 03
在 "FB63 "TSEND" 的输入参数 "REQ" 上施加上升沿以触发发送请求。发送任务的触发是由时钟标志 M100.6 和变量 "SEND_BUSY" 来控制的。如果发送任务运行, "C1.SEND_BUSY" 则被置位,无法再触发新的发送请求。
可以为输入参数 "DATA" 指定包含要发送数据的存储区。
并在输入参数 "LEN" 填写要发送的字节数。
本例中发送数据保存在DB100中,向通信伙伴发送100个字节。
输出参数 "DONE", "ERROR" 和 "STATUS" 用于任务评价。
图. 04
如果发送任务成功完成, "SEND_BUSY" 被复位。这时新的发送任务才可以被触发。
如果发送任务执行出错,那么 "SEND_BUSY" 变量同样被复位,FB63 的输出参数 "STATUS" 的值被保存用于错误分析。
图. 05
图. 06
一旦 TCP 连接建立了,就能接收数据。
用输入参数 "DATA" 指定保存接收数据的存储的地址和长度。
本例中接受100个字节并保存在DB200中。
图. 07
输出参数 "NDR" 用于表示已接收到新数据。输出参数 "RCVD_LEN" 表明接收数据的长度,如果数据接收成功,保存参数 "RCVD_LEN"。
图. 08
如果数据未被成功接收,那么输出参数 "STATUS" 可以保存下来并用于评估状态。
图. 09
可以通过 FB66 "TDISCON" 有目的地结束 TCP 连接。在 FB66 "TDISCON" 的输入参数"REQ" 上施加上升沿以请求结束 TCP 连接。
图. 10
注意:
示例程序中TCP 协议用来数据传输,需在数据结构 "OUCW_2"中设定参数 "connection_type" 为 "B#16#11" 。
S7-300 CPUs V2.3 支持 TCP (兼容模式)。如在S7-300 CPU V2.3 中运行示例程序,需在数据结构 "OUCW_2" 中设定参数 "connection_type" 为 "B#16#01" 。