西门子总线电缆全国授权经销商
国际化工业自动化科技产品供应商,西门子G120、G120C V20 变频器; S120 V90 伺服控制系统;6EP电源;电线;电缆;
网络交换机;工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。其产品范围包括西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
我们还提供。
西门子中国授权代理商—— 浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球zhuming芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆
插入扩展以及修改标准报文大小
TelegramComposition telegrams = drvObj.Telegrams;
Telegram telegram = telegrams.Find(TelegramType.MainTelegram);
Console.WriteLine("The Cu has the telegram: " + telegram.TelegramId);
Console.WriteLine("The Setpoint channel-specific size of the telegram is: "
+ telegram.GetOutputSize());
foreach (var address in telegram.Addresses)
{
if (address.IoType == AddressIoType.Output)
{
Console.WriteLine("The Setpoint channel-specific IO start address of
the telegram on the connected PLC is: " + address.StartAddress);
}
else if(address.IoType == AddressIoType.Input)
{
Console.WriteLine("The Actual value channel-specific IO start address
of the telegram on the connected PLC is: " + address.StartAddress);
}
}
// Create an additional telegram
if (drvObj.Telegrams.CreateAdditionalTelegram(2,4))
{
drvObj.Telegrams.CreateAdditionalTelegram(2,4);
}
// Add a 3 word extension to the main telegram
Telegram mainTelegram == drvObj.Telegrams.Find(TelegramType.MainTelegram);
Int32 newSize = mainTelegram.GetSize(AddressIoType.Input) + 3;
if (mainTelegram.CanChangeSize(AddressIoType.Input, newSize, true))
{
mainTelegram.ChangeSize(AddressIoType.Input, newSize, true)
}
Siemens.Engineering.MC.Drives 命名空间示例
准备报文
SINUMERIK NCU 的驱动通讯通过 SINAMICS Integrated 子组件使用报文进行,如果适用,还
可通过额外连接的 NX 模块进行。
说明
SINUMERIK NCU 和 SINAMICS Integrated 位于 TIA Portal Openness 对象模型的同一等级上,
作为两个不同的设备出现在"DeviceComposition"下。使用“DriveObjectContainer”来配置报文。“DriveObjectContainer”是实际
标题模块(设备元素)的一个驱动对象服务。
若要启动“DriveObjectContainer”服务,需导航至 SINAMICS Integrated 或 NX 模块
的标题模块。SINAMICS Integrated 和 NX 模块中,设备和设备元素的等级关系相同。
下面的例子展示了如何通过"标题模块"属性查找"DriveObjectContainer":
通过标题模块查找 DriveObjectContainer
foreach (Device device in project.Devices)
{
foreach (DeviceItem deviceItem in device.DeviceItems)
{
if (deviceItem.Classification == DeviceItemClassifications.HM)
{
var driveObjectContainer = deviceItem.GetService();
// do something
}
}
}
SINUMERIK NCU 包含一个参考了 SINAMICS Integrated 的 SINAMICS Integrated 代理对象。
若要访问一个 SINAMICS Integrated 设备或一个 NX 模块,需通过 NCK 从 SINUMERIK NCU 导
航至 DP Integrated 界面,确定 PROFIBUS 主站系统并导航至所连接的从站。
插入及删除报文
下面的例子展示了如何插入一个报文。需要一台驱动对象。
插入报文并访问报文属性
using Siemens.Engineering.MC.Drives;插入报文并访问报文属性
TelegramComposition telegrams = drvObj.Telegrams;
//Add telegram
const int tgrmNumber = 136;
drvObj.Telegrams.InsertTelegram(tgrmNumber);
//Find telegram
Telegram telegram = drvObj.Telegrams.Find(TelegramType.MainTelegram);
/Add safety telegram
const int tgrmNumber = 30;
drvObj.Telegrams.InsertSafetyTelegram(tgrmNumber);
//Find safety telegram
Telegram safetyTgrm = drvObj.Telegrams.Find(TelegramType.SafetyTelegram);
// Get and set safety telegram attributes
uint watchDogTime =
(uint)safetyTgrm.GetAttribute("Failsafe_FMonitoringtime");
safetyTgrm.SetAttribute("Failsafe_FMonitoringtime", 300);
const int newSafetyTelegramNumber= 902;
if (safetyTgrm.CanChangeTelegram(newSafetyTelegramNumber)) {
safetyTgrm.TelegramNumber = newSafetyTelegramNumber; }
//Add supplementary telegram
const int tgrmNumber = 701;
drvObj.Telegrams.InsertSupplementaryTelegram(tgrmNumber);
Telegram telegram =
drvObj.Telegrams.Find(TelegramType.SupplementaryTelegram);
下面的例子说明了如何删除一个报文。
删除报文
using Siemens.Engineering.MC.Drives;
//Remove safety telegram
drvObj.Telegrams.EraseTelegram(TelegramType.SafetyTelegram);
//Remove supplementary telegram
drvObj.Telegrams.EraseTelegram(TelegramType.SupplementaryTelegram);
说明
你可以修改,但不能删除一个主报文(MainTelegram)。下列示例说明了如何插入一个安全报文。需要一台驱动对象。
插入安全报文并访问报文属性
using Siemens.Engineering.MC.Drives;
TelegramComposition telegrams = drvObj.Telegrams;
//Add safety telegram
const int tgrmNumber = 30;
drvObj.Telegrams.InsertSafetyTelegram(tgrmNumber);
//Find safety telegram
Telegram safetyTgrm = drvObj.Telegrams.Find(TelegramType.SafetyTelegram);
// Get and set safety telegram attributes
uint Failsafe_FDestinationAddress =
(uint)safetyTelegram.GetAttribute("Failsafe_FDestinationAddress");
uint Failsafe_FSourceAddress =
(uint)safetyTelegram.GetAttribute("Failsafe_FSourceAddress");
uint Failsafe_FIODBNumber = (uint)safetyTelegram.GetAttribute("Failsafe_FIODBNumber");
string Failsafe_FIODBName = safetyTelegram.GetAttribute("Failsafe_FIODBName").ToString();
uint Failsafe_FMonitoringtime =
(uint)safetyTelegram.GetAttribute("Failsafe_FMonitoringtime");
uint Failsafe_ManualAssignmentFIODBNumber =
(uint)safetyTelegram.GetAttribute("Failsafe_ManualAssignmentFIODBNumber");
bool Failsafe_ManualAssignmentFMonitoringtime =
(bool)safetyTelegram.GetAttribute("Failsafe_ManualAssignmentFMonitoringtime");
// Set safety telegram attributes
safetyTelegram.SetAttribute("Failsafe_ManualAssignmentFIODBNumber", 1);
safetyTelegram.SetAttribute("Failsafe_ManualAssignmentFMonitoringtime", true);
safetyTelegram.SetAttribute("Failsafe_FIODBNumber", 40000);
safetyTelegram.SetAttribute("Failsafe_FMonitoringtime", 200);
safetyTelegram.SetAttribute("Failsafe_FDestinationAddress", 15);
const int newSafetyTelegramNumber= 900;
if (safetyTgrm.CanChangeTelegram(newSafetyTelegramNumber)) {
safetyTgrm.TelegramNumber = newSafetyTelegramNumber; }
下列示例说明了如何删除一个安全报文。
以下示例显示了如何插入扩展以及如何修改标准报文的大小。需要一台驱动对象。
插入扩展以及修改标准报文大小
using Siemens.Engineering.MC.Drives;
TelegramComposition telegrams = drvObj.Telegrams;
Telegram telegram = telegrams.Find(TelegramType.MainTelegram);
Console.WriteLine("The Cu has the telegram: " + telegram.TelegramNumber);
Console.WriteLine("The Setpoint channel-specific size of the telegram is: "
+ telegram.GetOutputSize());
foreach (var address in telegram.Addresses)
{
if (address.IoType == AddressIoType.Output)
{
Console.WriteLine("The Setpoint channel-specific IO start address of
the telegram on the connected PLC is: " + address.StartAddress);
}
else if(address.IoType == AddressIoType.Input)
{
Console.WriteLine("The Actual value channel-specific IO start address
of the telegram on the connected PLC is: " + address.StartAddress);
}
}
// Add an additional telegram
if (drvObj.Telegrams.CanInsertAdditionalTelegram(2,4))
{
drvObj.Telegrams.InsertAdditionalTelegram(2,4);
}
// Add a 3 word extension to the main telegram
Telegram mainTelegram == drvObj.Telegrams.Find(TelegramType.MainTelegram);
Int32 newSize = mainTelegram.GetSize(AddressIoType.Input) + 3;
if (mainTelegram.CanChangeSize(AddressIoType.Input, newSize, true))
{
mainTelegram.ChangeSize(AddressIoType.Input, newSize, true)
}
5.11.15 Startdrive 函数
5.11.15.1 简介
通过 TIA Portal Openness,您可以使用自己创建的程序进行自动配置并控制 TIA Portal在本帮助文档中,您可以查找到关于自建程序的详细信息和代码示例。您也可创建自己的程
序并在 TIA Portal "Startdrive" 应用中使用。
在根据随后列出的程序代码配置您自己的 Startdrive 程序之前,请仔细阅读有关 Openness 的
一般说明,可在本信息系统中查找以下关键字来获取:
• 使用 TIA Portal Openness 的前提条件
• 安装 TIA Portal Openness
• 访问 TIA Portal
• TIA Portal Openness 对象模型
• 编程步骤
说明
激活项目保护 (UMAC)
如要通过“Openness API”编辑激活了项目保护的项目,用户需要具有相应的访问权限。用户
账户必须具有以下功能权限:
• 通过 Openness API 更改项目
• 打开并编辑项目
• 以只读方式打开项目
工艺对象需要的其他功能权限。如没有访问权限,请联系管理员。
更多关于访问权限和用户管理的一般信息,请参见“用户管理和安全”页面。
5.11.15.2 安全说明
使用 SecureString 密码进行加密通讯
说明
SecureString 密码用于安全通讯
在使用 Startdrive Openness 功能时,为了建立 Openness API 与 TIA Portal 之间的安全通讯,
请使用通过 SecureString 加密的密码。
说明
通讯方向
SecureString 密码只能用于向 TIA Portal 下载 Openness 功能,的通讯方向则不适用。