前言:西门子工业计算机授权代理商
西门子工业计算机SIEMENS授权代理商西门子中国有限公司授权合作伙伴——浔之漫智控技术(上海)有限公司,作为西门子中国有限公司授权合作伙伴,浔之漫智控技术(上海)有限公司代理经销西门子产品供应全国,西门子工控设备包括S7-200SMART、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。公司国际化工业自动化科技产品供应商,是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统集成和硬件维护服务的综合性企业。西部科技园,东边是松江大学城,西边和全球**芯片制造商台积电毗邻,作为西门子授权代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理商,西门子PLC模块代理商,,建立现代化仓储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品与此同时,我们向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等交通主干道将松江工业区与上海市内外连接,交通十分便利。建立现代化仓储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。目前,将产品布局于中、高端自动化科技产品领域,主要销售西门子PLC模块,西门子交换机,西门子变频器,西门子触摸屏,西门子电机,西门子数控软件,西门子电线电缆,西门子低压产品等等以下情况会导致扫描状态为失败:
? 没有 SAT 许可证或未安装 SDK
? 网络接口无效
? 扫描时未发现设备
? 用户取消了操作
方法名称 返回类型 描述
GetEnumerator
()
IEnumerator获取扫描错误事件集合的枚举器
4.6.9 IScanErrorEvent 类
该类提供调用 ScanNetworkDevices (页 90) 方法尝试扫描设备失败的相关信息。
ScanErrorEvent 的内容提供设备的相关信息,并将错误指定为信息、警告、错误或无
效。
构造函数 说明
ScanErrorEvent() 创建 ScanErrorEvent
属性名称 返回类型 说明
Code ErrorCode
{get;}
扫描错误
IP Uint {get;} 设备的 IP 地址
MAC ulong {get;} 设备的 MAC 地址
Name string {get;} 设备的名称
TimeStamp DateTime {get;} 错误的关联时间戳
Type ScanErrorType
{get};
发生错误的扫描的类IHealthCheckErrorEvent 接口
用于获取与健康状态检查错误事件相关的数据的接口。
属性名称 返回类型 描述
TimeStamp DateTime{get;
}
此文件夹中的一组文件以升序排列
Type LogType{get;} 此文件夹中的一组文件
Description string{get;} 文件夹类型(数据日志或配方)
4.6.11 IDiagnosticBuffer 接口
IDignosticBuffer 接口是用于获取诊断缓冲区的接口
方法名称 返回类型 描述
GetDiagnosticsBuffer() Result 获取诊断缓冲区
参数
Name Data type 参数
类型
描述
aDiagnosticItems Listout 诊断项的集合
language Language in 用于诊断条目的语言
属性名称 返回类型 描述
DiagBufferAllowed bool{get;} 允许诊断缓冲区采集
ScheduleDeviceDiagn
ostics
bool{get;set;
}
安排获取诊断操作Result 接口支持 IResult 类。
属性名称 返回类型 描述
Warnings ErrorCode[]{get
;}
返回错误代码组中的所有警告
Error ErrorCode
{get;}
返回错误代码
HasWarnings bool {get;} 存在警告时为真
Failed bool {get;} 结果失败时为真
Succeeded bool {get;} 结果成功时为真
Succeeded 表示未失败
方法名称 返回类型 描述
GetErrorDescription(Language
language)
string 获取以指定语言描述的当前错误字符串
GetWarningDescription(Language
language)
string[] 获取以指定语言描述的警告字符串
4.7 网络类
4.7.1 网络构造函数
.NET 类 Network 使用安装在编程设备上的网络接口卡 (NIC) 执行功能。Network 类用
于搜索可用接口卡以及选择与 PROFINET 网络通信的接口卡。
要与 PROFINET 网络交互,程序应声明 Network 类型的变量术规范参数化软件Modular PID Control许可证类型单一许可证软件级别A当前版本V5.1 SP4目标系统SIMATIC S7-300(CPU 313 或更高版本)SIMATIC S7-400SIMATIC C7所需的软件包STEP 7 V5.6 或更高版本PG/PC 的主内存配置16 MBPG/PC 中要求的磁盘空间1.85 MB处理器,*少486近似窗口交换区20 MB(*多)标准功能块A_DEAD_BCRP_INCPR_OUT所需存储空间装载存储器工作存储器装载存储返回类型 方法名称
Result QueryNetworkInterfaceCards
参数
名称 数据类型 参数类型 描述
aInterface
s
ListOut 编程设备上按名称列出的所有
网络接口卡的集合
要识别可用网络接口卡,可使用 QueryNetworkInterfaceCards 方法。此方法将输出
一个字符串列表。列表中的每一项代表一个用名称标识的可用网络接口。
示例:查询网络接口
要了解查询计算机或编程设备上的网络接口的过程,请参阅 API 入门指南 (页 49) 中的示
例和说明。
4.7.3 SetCurrentNetworkInterface 方法
返回类型 方法名称
Result SetCurrentNetworkInterface
参数
名称 数据类型 参数类型 描述
strInterfa
ce
string In 要使用的网络接口的名称。
这是从
QueryNetworkInterface
Cards 方法返回的名称之
一。
要使用计算机或编程设备上的一个网络接口访问 PROFINET 网络,必须“设置”此接口。
SetCurrentNetworkInterface 允许您的应用程序与特定 PROFINET 网络以及该网络
上的设备通信。示例:设置网络接口
要了解设置网络接口的过程,请参阅 API 入门指南 (页 49) 中的示例和说明。
参见
QueryNetworkInterfaceCards 方法 (页 88)
4.7.4 CurrentNetworkInterface 属性
此只读属性查询当前选定的网络接口。以下示例说明了如何使用该属性:
如果之前调用 SetCurrentNetworkInterface (页 88) 方法时未选择任何网络接口,
则该属性将返回一个空字符串。
示例:获取当前网络接口
//-------------------------------------------------------------
// 将 API 入门指南 (页 49)
中的必要代码插入// 此处以编译此示例
//-------------------------------------------------------------
#region Getting the current network interface
string currentInterface = myNetwork.CurrentNetworkInterface;
ScanNetworkDevices 方法
设置网络接口 (页 88)后,可以在 PROFINET 网络上搜索设备。ScanNetworkDevices
方法会输出一个 IProfinetDeviceCollection (页 96)。该集合中的每一项代表一个
直接连接到 PROFINET 网络的设备。这些设备可包括 CPU、HMI 和其它设备。
返回类型 方法名称
IScanErrorColl
ection
ScanNetworkDevices
参数
名称 数据类型 参数类型 描述
baseDevic
es
IProfinetDeviceC
ollection
Out 包含 PROFINET 网络中每台可
访问设备的
IProfinetDevice 元素的
集合
扫描包含多台设备的网络可能需要几分钟。返回的 IScanErrorCollection (页 84) 中
的 Succeeded 属性指示扫描是否成功。
说明
ScanNetworkDevices 方法使用要求。
您必须拥有有效且未过期的 SAT 许可证或已安装 SDK 才能成功使用 ScanNetworkDevices
方法。如果在运行时尚未安装 SDK 或没有有效且未过期的 SAT 许可证,则
ScanNetworkDevices 方法返回空集合。ScanNetworkDevices 不向调用应用程序返回设备
信息。
示例:扫描网络以查找设备
要了解扫描网络的完整操作过程和需要的信息SetCommunicationsTimeout 方法
可以为使用 API 调用的 S7-1200 和 S7-1500 CPU 通信操作设置时间限制。
SetCommunicationsTimeout 允许指定介于 180 到 999 秒之间的时间限制(以秒为单
位)。超出此范围的任何值都会导致操作失败。
返回类型 方法名称
Result SetCommunicationsTimeout
参数
名称 数据类型 参数类型 描述
nTimeout uint In 操作超时的指定时间
示例:设置通信超时
//-------------------------------------------------------------
// 将 API 入门指南 (页 49)
中的必要代码插入// 此处以编译此示例
//-------------------------------------------------------------
#region 设置 CPU 网络通信超时
// 获取并设置 CPU 网络通信超时
uint timeout = Network.GetCommunicationsTimeout();
if (timeout > 180) // 将超时设为 3 分钟
{
retVal = Network.SetCommunicationsTimeout(180);
}
/* 错误。检查和处理方法所返回的错企业新闻