您现在的位置是:首页 > PLC技术 > PLC技术
建立TCP、ISO-on-TCP、UDP和ISO协议的开放式通信
来源:艾特贸易2017-11-22
简介在程序编辑器中通过创建 TSEND_C 、 TRCV_C 或 TCON 指令建立 TCP 、 ISO - on -TCP 、 UDP 和 ISO 协议的开放式通信的步骤如下: 1) 在程序编辑器中,选择开放式用户通信的 TCON 、 TSEND_C 或 TRCV_
在程序编辑器中通过创建TSEND_C、TRCV_C或TCON指令建立TCP、ISO - on -TCP、UDP和ISO协议的开放式通信的步骤如下:
1)在程序编辑器中,选择开放式用户通信的TCON、TSEND_C或TRCV_C块。
2)在监视窗口中,打开“属性”→“组态”(“Properties”→“Configuration”)选项卡。
3)选择“连接参数”( Connection parameters)组。在选择连接伙伴之前,只启用伙伴端点的空下拉列表。其他所有输入选项均被禁用,如图7-52所示。同时显示一些已知的连接参数,如本地端点的名称、本地端点的接口、本地端点的IPv4地址(以太网子网)或PRO FIBUS地址(PROFIBUS子网)。
图7-52 TSEND_C的连接参数
4)从伙伴端点的下拉列表框中,选择一个连接伙伴。可以选择项目中未指定的设备或CPU作为通信伙伴。随后会自动输入一些特定的连接参数。用户需要设置伙伴端点的名称、伙伴端点的接口、伙伴端点的IPv4地址(以太网子网)或PROFIBUS地址(PROFIBUS子网)等参数。如果连接伙伴已联网,则显示子网名称。
5)在“组态类型”(Configuration type)下拉列表中,选择使用程序块或使用组态的连接。
6)在“连接数据”( Connection data)下拉列表中选择现有连接描述DB,或者对于已组态的连接,在“连接名称”( Connection name)下选择现有连接。也可以新建连接描述DB或已组态的连接。
之后,仍可以选择其他连接描述DB或已组态的连接,或者更改连接描述DB的名称,从而新建数据块。例如,用户也可以在所选TCON、TSEND_C或TRCV_C指令的CONNECT输入参数互连中查看所选的数据块;如果已使用TCON、TSEND_C或TRCV_C指令的CONNECT参数为连接伙伴指定了连接描述DB,则可使用此DB或创建一个新DB;如果编辑下拉列表中所显示的数据块的名称,则会生成一个新数据块用于该连接,新数据块使用更改的名称,但结构和内容不变。
更改的数据块名称在通信伙伴环境中必须唯一。连接描述DB必须具有结构TCON_Param、TC ON_IP_v4或TCON_IP_RFC,具体取决于CPU类型和连接。需要注意的是,无法为未指定的伙伴选择数据块。
在选择或创建连接描述DB或已组态的连接后确定并输入其他值。
以下适用于指定的连接伙伴:
①ISO - on -TCP连接类型。
②默认值为l的连接ID。
③由本地伙伴方创建的主动连接建立。
④TSAP ID。
对于S7-1200/1500为E0. 01. 49. 53. 4F. 6F. 6E. 54. 43. 50. 2D. 31.
对于S7 -300/400为E0. 02. 49.53. 4F. 6F. 6E. 54. 43. 50. 2D. 31.
以下适用于未指定的连接伙伴:
①TCP连接类型。
②伙伴端口2000。
以下适用于带有指定连接伙伴的已组态连接:
①TCP连接类型。
②默认值为257的连接ID。
③由本地伙伴方创建的主动连接建立。
④伙伴端口2000。
以下适用于带有未指定连接伙伴的已组态连接:
①TCP连接类型。
②本地端口2000。
7)输入连接伙伴所需的连接ID。不能为未指定的伙伴分配任何连接ID。必须为已知连接伙伴的连接ID输入一个唯一值。连接参数的设置不会检查连接ID是否唯一,在创建新连接时不会为连接ID输入默认值。
8)从相关的下拉列表中选择所需的连接类型。根据连接类型设定详细地址信息的默认值。可在以下类型中选择:
①TCP。
②ISO - on -TCP。
③UDP ISO(仅适用于组态模式“使用已组态的连接”(Use configured connection))。
可以编辑地址详细信息中的输入框。根据所选的协议,可以编辑端口(TCP和UDP)或TSAP(ISO - on - TCP和ISO)。
9)使用“主动连接建立”( Active connection establishment)复选框来设置TCP、ISO和ISO - on -TCP的连接建立特性。用户可以决定主动建立连接的通信伙伴。
连接组态将立即检查更改后的值是否存在输入错误,然后将值输入连接描述数据块中。需要注意的是,只有在将伙伴端点的程序段下载到硬件后,两个通信伙伴之间才能进行开放式用户通信。要实现功能完整的通信,应确保在设备上不仅装载了本地CPU的连接描述,而且还装载了伙伴CPU的连接描述。
如果要将TSEND/TRCV指令用于开放式通信,首先需要组态连接(例如TCP连接)。组态TCP连接,可以按以下步骤操作:
1)在STEP 7的“设备与网络”(Devices&networks)编辑器的网络视图中,组态通信伙伴。
2)单击“连接”( Connections)按钮,然后从下拉列表中选择“TCP连接”(TCP connection)连接类型。
3)使用拖放操作,将通信伙伴相互连接(通过接口或本地端点)。如果所需的S7子网尚不存在,则系统将自动创建。还可以设置与未指定伙伴的连接。
4)从网络视图中选择已创建的连接。
5)在“属性”( Properties)选项卡的“常规”(General)对话框中,设置连接的属性(例如连接名称和将使用的通信伙伴接口)。若要连接到未指定的伙伴,则需设置该伙伴的地址。可在“本地ID”(Local ID)区域中查找本地ID(用户程序中的连接参考)。
6)在项目树中,选择用于1个CPU的“程序块”(Program blocks)文件夹。双击文件夹,打开文件夹中的OB1。将打开程序编辑器。
7)从“指令”( Instructions)任务卡中“通信”(Communication)区域内的“开放式通信”( Open communication)中,选择所需的指令(如TSEND)并拖放到OB1的程序段中。
8)通过该指令的ID参数,指定要用于数据传输的已组态连接的本地ID。
9)互连TSEND指令的“DATA”参数和数据块中的用户数据。
10)将硬件组态和用户程序下载到CPU。
按照以上步骤,通过接收指令TRCV建立与伙伴CPU的连接,并下载到该CPU上。
使用CP1543 -1进行“ISO连接”(ISOconnection)连接类型时,如果要通过MAC地址进行寻址,则需在CP的属性中勾选复选框“使用ISO协议”(Use ISO protocol),如图7-53所示。
图7-53 选择CP1543 -1 ISO协议
(部分原创文章应编辑稿费需求,每篇需要收取2元的稿费,如需查看全文请联系客服索取,谢谢理解!在线客服:)
点击排行
