倍福plc直播教学(倍福ADS通讯使用PowerShell)
倍福plc直播教学(倍福ADS通讯使用PowerShell)首先以管理员身份启动PowerShell。由于PowerShell的强大功能,编写PowerShell脚本指令,可以取代人进行简单而繁复工作。PowerShell 库是 PowerShell 内容的中心存储库。 在 PowerShell 库中,可找到包含 PowerShell 命令和 Desired State Configuration (DSC) 资源的实用 PowerShell 模块。 还可找到 PowerShell 脚本,其中一些脚本可能包含 PowerShell 工作流、概述任务组和提供这些任务的序列。 其中一些包由 Microsoft 编写,另一些包由 PowerShell 社区编写。TcXaeMgmt包由倍福公司开发,并提交给PowerShell社区。TcXaeMgmt包含了一组指令,用来管理TwinCAT设备及其通讯。其应用场景包括:查看网络中PLC设备状态、大量布署AMS
#头条创作挑战赛#
ADS(The Automation Device Specification)是倍福公司开发用于倍福PLC与其它自动化设备之间用于通讯的协议。
自动化设备规范(The Automation Device Specification)描述了一种独立于设备和现场总线的接口,这种接口用来管理ADS设备之间的通信。ADS是TwinCAT通讯协议,它规定了两个ADS设备交互的规范。
二、什么是PowerShellPowerShell 是一种跨平台的任务自动化和配置管理框架,由命令行管理程序和脚本语言组成。PowerShell 构建在 .NET 公共语言运行时 (CLR) 的基础之上,接受并返回 .NET 对象。 这一根本上的改变引入了全新的自动化工具和方法。Win10操作系统默认安装PowerShell。在Win10中,PowerShell可以取代命令提示符CMD。PowerShell能完成所有CMD能执行的任务。
PowerShell 库是 PowerShell 内容的中心存储库。 在 PowerShell 库中,可找到包含 PowerShell 命令和 Desired State Configuration (DSC) 资源的实用 PowerShell 模块。 还可找到 PowerShell 脚本,其中一些脚本可能包含 PowerShell 工作流、概述任务组和提供这些任务的序列。 其中一些包由 Microsoft 编写,另一些包由 PowerShell 社区编写。
三、TcXaeMgmt包及其应用场景TcXaeMgmt包由倍福公司开发,并提交给PowerShell社区。TcXaeMgmt包含了一组指令,用来管理TwinCAT设备及其通讯。
其应用场景包括:查看网络中PLC设备状态、大量布署AMS路由 大量部署PLC程序,生成设备报表,能量消耗报表。
由于PowerShell的强大功能,编写PowerShell脚本指令,可以取代人进行简单而繁复工作。
四、PowerShell执行ADS指令。首先以管理员身份启动PowerShell。
(1)在PowerShell 库中查看TcXaeMgmt包版本。
输入命令:find-module -name TcXaeMgmt。此命令是在PowerShell 库查看是否有TcXaeMgmt包。注意电脑需联网。
运行结果如下:
TcXaeMgmt包的版本为3.2.21
(2)安装TcXaeMgmt包。
输入命令:Install-Module -Name TcXaeMgmt。
输入选择项“A”,从网络中安装TcXaeMgmt包。
(3)查看包是否安装成功。
输入命令:Get-InstalledModule -Name TcXaeMgmt。
(4)列出TcXaeMgmt包中的指令
输入命令:Get-Command -Module TcXaeMgmt
基本上TcXaeMgmt包中的指令和C 静态库TcAdsDll.lib一样多。
(5)获取指令帮助
这些指令该如何用呢?
输入指令:get-help Get-AdsState –full
Get-AdsState的用法就出来了,是不是很方便呢。
(6)获取ADS路由状态
输入指令:Get-AdsState 192.168.50.1.1.1
(7)读取TwinCAT 3 PLC %MD0的值
输入指令:Read-TcValue -IndexGroup 0x4020 -IndexOffset 0x0000 -NetId 192.168.50.1.1.1 -port 851 -size 0xff | format-hex
%MD0的值为0x64 也就是十进制100。
(8)写入TwinCAT 3 PLC %MD0的值0x100
输入指令:Write-TcValue -IndexGroup 0x4020 -IndexOffset 0x0000 -NetId 192.168.50.1.1.1 -port 851 -size 0x04 -Value 0x100。