[西门子] Siemens S7-200 自由口通信要点

[复制链接]
ye_w | 2008-5-21 23:02:00 | 显示全部楼层

Siemens S7-200 自由口通信要点

应用自由口通信首先要把通信口定义为自由口模式,同时设置相应的通信波特率和上述通信格式。用户程序通过特殊存储器SMB30(对端口0)、SMB130(对端口1)控制通信口的工作模式。

CPU通信口工作在自由口模式时,通信口就不支持其他通信协议(比如PPI),此通信口不能再与编程软件Micro/WIN通信。CPU停止时,自由口不能工作,Micro/WIN就可以与CPU通信。

通信口的工作模式,是可以在运行过程中由用户程序重复定义的。

如果调试时需要在自由口模式与PPI模式之间切换,可以使用SM0.7的状态决定通信口的模式;而SM0.7的状态反映的是CPU运行状态开关的位置(在RUN时SM0.7="1",在STOP时SM0.7="0")

自由口通信的核心指令是发送(XMT)和接收(RCV)指令。在自由口通信常用的中断有“接收指令结束中断”、“发送指令结束中断”,以及通信端口缓冲区接收中断。

网络读写指令(NetR/NetW)类似,用户程序不能直接控制通信芯片而必须通过操作系统。用户程序使用通信数据缓冲区特殊存储器与操作系统交换相关的信息。

XMT和RCV指令的数据缓冲区类似,起始字节为需要发送的或接收的字符个数,随后是数据字节本身。如果接收的消息中包括了起始或结束字符,则它们也算数据字节。

调用XMT和RCV指令时只需要指定通信口和数据缓冲区的起始字节地址。

同样,需要注意:

XMT和RCV指令与NetW/NetR指令不同的是,它们与网络上通信对象的“地址”无关,而仅对本地的通信端口操作。如果网络上有多个设备,消息中必然包含地址信息;这些包含地址信息的消息才是XMT和RCV指令的处理对象。

由于S7-200的通信端口是半双工RS-485芯片,XMT指令和RCV指令不能同时有效。

 

yyk9071@163 | 2008-5-22 18:43:28 | 显示全部楼层

Re:Siemens S7-200 自由口通信要点

在跟西门子公司打交道的几次中,感觉服务都不是太好!这几天不是在学通讯吗,呵呵!够落伍的吧!在这里发了一个贴,也没有前辈肯指导一下,可能是觉得偶问的太简单了吧!没有办法,谁叫咱不懂了,逼的偶没有办法,试着给西门子公司服务热线打了个电话,还好,人家挺热情,问了一堆问题之后,说留下电话号码,过了一会儿,西门子北京技术工程师确实帮偶解答了一下,在此,先谢谢了啊.不过偶还是要请教一下前辈,西门子工程师说,偶用西门子232/PPI编程电缆想把计算机与226和221组成PPI网络,还需要买一个485连接器或PROFIBUS用DP头,把232/PPI编程电缆接到西门子连接器上,才可以组网.我用自己买的9孔插头,组成网络,确实通讯不了,我是把221端口0的3和8与,226端口0的3和8与232/PPI电缆的3,8端子都并接起来,地址也设好了,可通讯时,总是抱通讯错误,请检查接线,前辈,到底是我接线有问题呢,还是一定要买西门子的485总线连接器啊?请一定指导啊!
还有在网上找不到S7200点到点通讯手册啊,用搜狗一搜,什么西班牙语,意大利语.法语都可以找到,就是中文和英语找不到?真郁闷!你说找不到中文也就算了,好呆也要让咱下载个english啊,不知道西门子怎么回事呢?

总的感觉西门子服务比以前好多,这是偶的个人观点啊!高手请帮小弟指点一下通讯的问题啊!谢谢啊
,
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则