网站大量收购闲置独家精品文档,联系QQ:2885784924

工业串口通信之如何使用S7-1200的CM1241模块.docx

工业串口通信之如何使用S7-1200的CM1241模块.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

工业串口通信之如何使用S7-1200的CM1241模块

工控行业的小伙伴们都知道以前在中低端PLC市场西门子有S7-200系列产品,但是细心的你也许早就发现,S7-200系列PLC在组态编程上都与S7-300/400系列有很大的不同。S7-300/400系列PLC用Step7(或博途)组态和编程,而S7-200用Step7Micro/Win组态和编程,这几乎就是一个全新的平台,对于Step7很熟悉的人也需要从新开始学习。同样是西门子的产品,差别怎么就这么大呢?

这是因为S7-200系列PLC是西门子收购了一家美国公司开发的产品,从S7-200的编程模式可以看到一些美日式PLC的影子。虽然西门子在中高端PLC市场做的风生水起,但是没有自己的中低端PLC产品一直是西门子的一个心病。

终于,S7-1200系列PLC面世了。

与S7-200系列不同,S7-1200是纯德国血统,可以用西门子的通用软件平台博途(TIA)组态和编程。

S7-1200支持经典的编程语言:梯形图(LADDER)和方框图(FDB),同时还支持SCL,熟悉计算机高级语言的人可以很快上手。

S7-1200支持布尔量,字节,字,整形,双字,日期时间类型,用户自定义类型等数据类型,很少见到一个中低端的PLC支持这么多数据类型;

S7-1200支持PID调节,集成HMI显示,集成ProfiNet网络,支持Profibus-DP网络,支持第三方通信。还有一点很重要,颜值很高,如下图:

S7-1200系列PLC性价比高,完全能胜任很多中小型的生产线,个人认为将在中小规模的自动化市场有不错的应用前景。

S7-1200可以通过CM(CommunicationModule)1241和CB(CommunicationBoard)来进行串口的通信。CM只能安装在CPU的左侧或者另一个CM的左侧,S7-1200最多支持三个CM模块,加上CB模板,总共最多支持四个通信接口。

今天我们先来聊聊S7-1200的串口通信模块CM1241。

西门子根据电气接口的不同,把CM1241分成了三种产品,CM1241-RS232,CM1241-RS485,CM1241-RS422\485。

CM1241的端口都是隔离的;均由CPU进行供电,不需要提供外部电源;可以通过LED查看通信的发送和接收;与以往的模块的不同之处是它增加了一个诊断LED灯,可以从诊断组态的状态,其含义如下:

红闪:CPU没有找到CM模块,可能CPU还未上电;

绿闪:CPU找到了CM模块,但尚未组态;

绿常亮:CPU找到了CM模块,并且组态正确;????

CM1241-RS232模块外貌如下图:

CM1241-RS232模块的电气接口(公头)如下:

CM1241-RS422\485模块的电气接口(母头)如下:

关于这些接口的含义及如何连线,如果你有不清楚的地方,请看我前面发表的文章;

下面以CM1241-RS232为例来谈谈硬件组态和编程:

在硬件目录-通信模块Communicationmodules-点对点pointtopoint下有3中模块可以选择,CM1241(RS232)\CM1241(RS485)\CM1241(RS422\485),如下图:

我们选择RS232,订货号:6ES7241-1AH32-0XB0,将其添加到PLC的左侧。

注意:在S7-1200中,CM模块只能添加到PLC的左侧或者另一个CM模块的左侧,如下图:

设置模块的属性参数:

点击属性(property),选择RS232接口(Interface)-端口配置(portconfig),在这里,可以配置波特率、数据位、停止位、校验位及流控制等参数:

软件编程指令在Communication-Communicationprocessor-Point-to-Point中:

先来看看数据发送,选择功能块SEND_PTP,系统会自动生成一个背景数据块:

这个DB是发送块SEND_PTP私有的,然后我们还需要新建一个全局数据块(GlobalDB),来作为发送缓冲区,存放我们需要发送的数据。双击添加块-选择全局数据块(GlobalDB),给DB块起个名字,例如DB_Send_Buffer:

在新建的DB块中添加你要发送的数据,设置默认值,例如Founderchipisthebest:

然后调用SEND_PTP功能块发送数据:

如果你定义了发送的数据是String类型的话,要注意起始地址从第2个字节(起始编号为0)开始,如上图:DB3.DBX2.0,这是因为String类型的第0个字节是总字节数,第1个字节是当前字符串的字节数,从第2个字节开始是字符串的首字节,如下图的示例:

功能块SEND_PTP各参数的含义:

输入参数:

REQ:请求发送

文档评论(0)

素珍 + 关注
实名认证
内容提供者

好文件大家都可以分享

1亿VIP精品文档

相关文档