精华内容
下载资源
问答
  • Package Control

    2019-01-14 12:13:16
    无法进行自动安装package control,只能进行手动安装,将这个文件放在preferences->Browse Packages,这个目录中。重启sublime text3,然后在preferences->中看到package control这个按钮,说明手动安装成功。
  • Feedback Control of Dynamic Systems 的第八版,比第七版多了更多内容!高清非扫描!
  • Access-Control-Allow-Origin 解决跨域权限问题,在谷歌浏览器输入:chrome://extensions,然后把下载好的文件拖入chrome://extensions页面,点击安装即可完成安装即可使用
  • Feedback Control of Dynamic Systems (7th Edition) 描述动态系统的反馈控制
  • JavaScript跨域访问,ionic2使用正常。欢迎大家下载,本来想免费的,但必须选择资源分,我也没办法。
  • Allow-Control-Allow-Origin

    热门讨论 2017-01-06 23:45:50
    chrome跨域插件
  • 周立功USBCAN函数库ControlCAN.dll最新版

    热门讨论 2016-06-23 22:47:38
    C/C++版周立功USBCAN函数库ControlCAN.dll最新版(2016年6月),旧版的在win10上不能运行,新版的在win10可顺利运行。
  • VBA下的条形码生成,转换,应用于Microsoft office的WORD EXCEL等
  • NETGEAR USB Control Center

    热门讨论 2015-01-19 09:34:06
    NETGEAR USB Control Center网件路由器USB打印共享软件
  • ajax 设置Access-Control-Allow-Origin实现跨域访问

    千次下载 热门讨论 2015-06-06 19:19:29
    ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全...因此,通过设置Access-Control-Allow-Origin来实现跨域访问比较简单。
  • Camera Control Pro 2.9汉化破解版
  • 我开发WPF程序是,喜欢用UserControl来简化WPF,提高重用性。但是有一个问题就是,UserControl里点击了一个按钮后,往往需要操作这个UserControl外的其他控件或者资源。这个如何实现呢? 本文找到了一个简单的方法,...
  • 仿 nrf master control panel的开源BLE调试程序,项目地址见https://git.oschina.net/vonchenchen/BLE_Assitant.git
  • 利用vs2010MFC对话框的鼠标消息函数RBBUTTONDOWN,ONMOUSEMOVE,RBBUTONUP实现在picture control控件上选定图像的矩形ROI感兴趣区域,并裁剪显示出所选定的ROI区域。按住鼠标右键,拖动光标划定矩形区域,再弹起鼠标...
  • c# winform form页面点击按钮弹出用户控件,选择用户控件中的值并且赋给form页面上的控件
  • win32对话框tab control控件使用demo

    热门讨论 2014-02-26 22:44:40
    vc6 如鹏网win32对话框向导工程 tab control控件使用demo
  • Orientation Control是一款手動強制切換屏幕方向的工具,支持桌面插件以及通知欄快捷設置,橫屏選擇Landscape,豎屏選擇Por​​trait即可。
  • [MSILoader] MSIFileName=GadgetWide Cloud Control Service.msi
  • C# 使用Usercontrol与主窗体进行消息传递,利用Usercontrol里面的控件控制主窗体上的控件;利用主窗体的控件改变Usercontrol里面控件的属性
  • control命令详解

    千次阅读 2019-03-31 08:12:30
    control命令详解 Windows的命令列模式下有个非常好用的命令叫做Control。这个命令其实就是控制『控制台』的一个接口。你可以用这个命令直接叫起一些平常要找很久才会找到的窗口。最简单的一个例子,你只要在...

     

    control命令详解

     

       Windows的命令列模式下有个非常好用的命令叫做Control。这个命令其实就是控制『控制台』的一个接口。你可以用这个命令直接叫起一些平常要找很久才会找到的窗口。最简单的一个例子,你只要在『开始』 -> 『执行』中输入”control“。就可以开启控制台窗口。

    以下列出一些网络上面找到的相关命令:

    命令参数

    平台

    说明

    control admintools

    2000/XP

    开启『系统管理工具』窗口。

    control desktop

    95/98/ME/NT/2000/XP

    开启『显示 内容』窗口。

    control color

    95/98/ME/NT/2000/XP

    开启『显示 内容』窗口,并显示『外观』项目。

    control date/time

    95/98/ME/NT/2000/XP

    开启『时间和日期 内容』窗口。

    control folders

    XP

    开启『数据夹选项』窗口。

    control fonts

    95/98/ME/NT/2000/XP

    开启『字型』窗口。

    control infrared

    95/98/ME/NT/2000/XP

    开启『无线连结』窗口。

    control international

    95/98/ME/NT/2000/XP

    开启『地区及语言选项』窗口。

    control keyboard

    95/98/ME/NT/2000/XP

    开启『键盘 内容』窗口。

    control mouse

    95/98/ME/NT/2000/XP

    开启『鼠标 内容』窗口。

    control netconnections

    2000/XP

    开启『网络联机』窗口。

    control netware

    2000/XP

    开启『Netware』窗口。

    control panel

    2000/XP

    开启『控制台』窗口。

    control printers

    95/98/ME/NT/2000/XP

    开启『打印机和传真』窗口。

    control schedtasks

    2000/XP

    开启『排定的工作』窗口。

    control telephony

    2000/XP

    开启『位置信息』窗口。

    control userpasswords

    2000/XP

    开启『使用者账户』窗口。

    control userpasswords2

    2000/XP

    开启另一种『使用者账户』窗口。

    此外,有一种扩展名为.cpl的档案。其实他就是各种在控制台内的工具。所以你可以透过sysdm.cpl 将打开系统属性小程序。

    control xxx.cpl

    这样的方式来开启该画面。
     

    Access.cpl:辅助功能选项

    Appwiz.cpl:添加/删除程序

    Desk.cpl:显示

    Fax.cpl:传真向导

    Hdwwiz.cpl:添加/删除硬件

    Intl.cpl:区域语言选项

    Joy.cpl:游戏控制器

    Liccpa.cpl:许可

    Main.cpl:鼠标

    Mlcfg.cpl:邮件

    Mmsys.cpl:声音和音频设备

    Modem.cpl:电话和调制解调器选项

    Ncpa.cpl:网络连接

    Netcpl.cpl:网络和拨号连接

    Nwc.cpl: Netware客户端连接

    Odbccp32.cpl: ODBC数据源

    Powercfg.cpl:电源管理

    Sticpl.cpl:扫描仪和照相机

    Sysdm.cpl:系统

    Telephon.cpl:拨号规则和调制解调器

    Timedate.cpl:日期和时间




    命令:control[.exe] 参数注1注2

    环境:Windows XP SP2

    所在目录:%SystemRoot%/system32/

    概述:该命令是为了便于用户使用命令行来访问控制面板上的功能而提供的

    研究契机:由于最近在管理服务器的时候,经常使用control userpasswords2
    来删除被保存的密码,也在网上做了一些关于control.exe的调查,
    不过可惜资料比较少,因此萌生了调查这个程序的念头,不过还好程序本身很小,
    分析代码花的时间不是很多,而且通过这个还挖掘出了不少有趣的东西^^

    预计用处:项目开发中,如果需要打开控制面板中的一些功能设置的话,
    可以使用这个命令,或者直接使用下表中的内部调用命令,不过推荐
    使用control命令,内部调用命令随着操作系统而变化的可能性比较大一点


    注1:参数大小写不敏感

    注2:参数前的空格无所谓几个,但参数后一个空格都不能加,否则会调用失败

    使用例:用control命令打开时间和日期的界面
    control DATE/TIME


     

    对象参数内部调用命令备注
    控制面板
    コントロール パネル
    (无)explorer.exe "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    PANEL 
    未知/policy(无)该命令执行后,加载desk.cpl,并且调用输出函数CPlApplet,参数为hwndCPl=0 uMsg=0x66 lParam1=0 lParam2=0
    在XP SP2环境下执行后没有反应
    显示
    画面
    DESKTOPdesk.cpl[desk.cpl] : [显示][主题]
    [desk.cpl ,0] : [显示][桌面]
    [desk.cpl ,1] : [显示][屏幕保护程序]
    [desk.cpl ,2] : [显示][外观]
    [desk.cpl ,3] : [显示][设置]
    [desk.cpl ,4] : [显示][设置]
    外观
    デザイン
    COLORdesk.cpl ,2
    日期和时间
    日付と時刻
    DATE/TIMEtimedate.cpl[timedate.cpl] : [日期和时间][时间和日期]
    [timedate.cpl ,0] : [日期和时间][时间和日期]
    [timedate.cpl ,1] : [日期和时间][时区](最后的[Internet 时间]选项卡会消失)
    系统
    システム
    PORTSsysdm.cpl ,1[sysdm.cpl] : [系统][常规]
    [sysdm.cpl ,0] : [系统][常规]
    [sysdm.cpl ,1] : [系统][计算机名]
    [sysdm.cpl ,2] : [系统][硬件]
    [sysdm.cpl ,3] : [系统][高级]
    [sysdm.cpl ,4] : [系统][系统还原]
    [sysdm.cpl ,5] : [系统][自动更新]
    [sysdm.cpl ,6] : [系统][远程]
    [sysdm.cpl ,-1] : [性能选项][视觉效果](意料外^^)
    区域和语言选项
    地域と言語のオプション
    INTERNALTIONALintl.cpl[intl.cpl] : [区域和语言选项][区域选项]
    [intl.cpl ,0] : [区域和语言选项][区域选项]
    [intl.cpl ,1] : [区域和语言选项][语言]
    [intl.cpl ,2] : [区域和语言选项][高级]
    鼠标
    マウス
    MOUSEmain.cpl为啥叫main令人费解orz
    [main.cpl] : [鼠标][按钮]
    [main.cpl ,0] : [鼠标][按钮]
    [main.cpl ,1] : [鼠标][指针]
    [main.cpl ,2] : [鼠标][指针选项]
    [main.cpl ,3] : [鼠标][轮]
    [main.cpl ,4] : [鼠标][硬件]
    键盘
    キーボード
    KEYBOARDmain.cpl @1[main.cpl @1] : [键盘][速度]
    [main.cpl @1 ,0] : [键盘][速度]
    [main.cpl @1 ,1] : [键盘][硬件]
    (未知)NETWAREnwc.cplXP上执行后没有反应
    电话和调制解调器选项
    電話とモデムのオプション
    TELEPHONYtelephon.cpl 
    无线链接
    ワイヤレス リンク
    INFRAREDirprops.cpl未安装无线功能的计算机上执行该参数后会没有反应
    [irprops.cpl] : [无线链接][红外线]
    [irprops.cpl ,0] : [无线链接][红外线]
    [irprops.cpl ,1] : [无线链接][图像传送]
    [irprops.cpl ,2] : [无线链接][硬件]
    本地用户和组
    ローカル ユーザーとグループ
    USERPASSWORDSlusrmgr.msc根据SHLWAPI.dll.#437输出函数判断显示哪一个用户帐户管理界面
    用户帐户
    ユーザー アカウント
    nusrmgr.cpl
    用户帐户
    ユーザー アカウント
    USERPASSWORDS2rundll32 netplwiz.dll,UsersRunDll(常用)Windows 2000下的用户帐户管理界面,可以用这个界面提供的网络密码管理功能删除保存过的网络密码
    (注意点)不过,该参数在2000下不能正常调用,只能使用USERPASSWORDS调 出相同的界面,但并没有网络密码管理的功能
    打印机和传真
    プリンタと FAX
    PRINTERSexplorer.exe "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D}/::{2227A280-3AEA-1069-A2DE-08002B30309D}" 
    字体
    フォント
    FONTSexplorer.exe "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D}/::{D20EA4E1-3957-11d2-A40B-0C5020524152}" 
    管理工具
    管理ツール
    ADMINTOOLSexplorer.exe "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D}/::{D20EA4E1-3957-11d2-A40B-0C5020524153}" 
    任务计划
    タスク
    SCHEDTASKSexplorer.exe "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D}/::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}" 
    网络连接
    ネットワーク接続
    NETCONNECTIONSexplorer.exe "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D}/::{7007ACC7-3202-11D1-AAD2-00805FC1270E}" 
    文件夹选项
    フォルダ オプション
    FOLDERSrundll32.exe shell32.dll,Options_RunDLL 0[rundll32.exe shell32.dll,Options_RunDLL 0] : [文件夹选项]
    [rundll32.exe shell32.dll,Options_RunDLL 1] : [任务栏和「开始」菜单属性]
    扫描仪和照相机
    スキャナとカメラ
    SCANNERCAMERAexplorer.exe "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/::{21EC2020-3AEA-1069-A2DD-08002B30309D}/::{E211B736-43FD-11D1-9EFB-0000F8757FCD}" 
    STICPL.CPL 
    (其他1)键名rundll32.exe shell32.dll,Control_RunDLL 键名的值对[HKEY]/SOFTWARE/Microsoft/Windows/CurrentVersion/Control Panel/Cpls/下的键名进行查询
    注:[HKEY]的搜索顺序为HKEY_LOCAL_MACHINE,HKEY_CURRENT_USER
    (其他2)*.cplrundll32.exe shell32.dll,Control_RunDLL *.cpl*.cpl必须在%PATH%中某一个定义的目录中能找到


    此外,rundll32.exe也可以实现相同的功能。

    打开控制面板

    命令: rundll32.exe shell32.dll,Control_RunDLL

    结果: 显示控制面板窗口。

    例子:

    Call Shell("rundll32.exe shell32.dll,Control_RunDLL")

    辅助选项

    模块: access.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl

    结果: 显示辅助选项/常规。

    命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl

    结果: 显示辅助选项/键盘。

    命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl

    结果: 显示辅助选项/声音。

    命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl

    结果: 显示辅助选项/显示。

    命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl

    结果: 显示辅助选项/鼠标。

    添加新硬件

    模块: sysdm.cpl

    命令:rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl 

    增加新的打印机

    模块:shell32.dll

    命令:rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter

    添加/删除程序

    模块:appwiz.cpl

    命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl

    结果:显示安装/卸载。

    命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl

    结果:显示Windows 安装。

    命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl

    结果:显示启动盘。

    复制磁盘

    模块:diskcopy.dll

    命令:rundll32.exe diskcopy.dll,DiskCopyRunDll

    时间/日期

    模块: timedate.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl,,0

    结果: 显示设置日期/时间。

    命令: rundll32.exe shell32.dll,Control_RunDLL timedate.cpl

    结果: 显示设置时间区域。

    拨号连接(DUN)

    模块: rnaui.dll

    命令: rundll32.exe rnaui.dll,RnaDial 连接_名称

    结果: 打开指定的拨号连接。

    例子:

    x= Shell("rundll32.exe rnaui.dll,RnaDial " & "连接_名称", 1)

    显示器

    模块: desk.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0

    结果: 背景设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl

    结果: 屏幕保护设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl

    结果: 外观设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl

    结果: 设置窗口。

    操纵杆

    模块: joy.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL joy.cpl

    邮件/传真

    模块: mlcfg32.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL mlcfg32.cpl

    结果: 出现 MS Exchange 属性设置。

    邮局设置

    模块: wgpocpl.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL wgpocpl.cpl

    结果: 显示 MS Postoffice Workgroup Admin 设置。

    主设置

    模块: main.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl 

    结果: 显示鼠标属性。

    命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl 

    结果: 显示键盘/速度属性。

    命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl 

    结果: 显示键盘/语言属性。

    命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl 

    结果: 显示键盘/常规属性。

    命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl 

    结果: 显示打印机属性。

    命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl 

    结果: 显示字体属性。

    命令: rundll32.exe shell32.dll,Control_RunDLL main.cpl 

    结果: 显示电源管理属性。

    增加 Modem

    模块:modem.cpl

    命令:rundll32.exe shell32.dll,Control_RunDLL modem.cpl,,add

    多媒体

    模块: mmsys.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0

    结果:声音。

    命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl

    结果:视频。

    命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl

    结果:声音 MIDI。

    命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl

    结果:CD/音乐。

    命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl

    结果:高级。

    命令: rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl 

    结果:声音。

    网络

    模块:netcpl.cpl

    命令:rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl

    打开方式窗口(Open With)

    模块: shell32.dll

    命令:rundll32.exe shell32.dll,OpenAs_RunDLL pathfilename

    口令

    模块: password.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL password.cpl

    区域设置

    模块: intl.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,0

    结果: 区域设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl

    结果: 数字格式设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl

    结果: 金额格式设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl

    结果:时间格式设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL intl.cpl

    结果: 日期格式设置。

    屏幕保护

    模块: appwiz.cpl

    命令: rundll32.exe desk.cpl,InstallScreenSaver c:winsystemFlying Windows.scr

    结果: 安装屏幕保护并显示预览属性页。

    系统设置

    模块: sysdm.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0

    结果: 显示常规设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl

    结果: 显示设备管理设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl

    结果: 显示硬件设置。

    命令: rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl

    结果: 显示性能设置。

    IE4 设置

    模块: inetcpl.cpl

    命令: rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl

    展开全文
  • ActiveX Control Test Container(免积分下载)

    热门讨论 2014-08-12 13:57:53
    本来就是免费的东西,看见有人还要一个资源分下载,故编译一个免积分下载,方便使用
  • 文章目录1. Controllers2.... gazebo_ros_control添加传动系统添加gazebo_ros_control插件默认gazebo_ros_control行为自定义gazebo_ros_control插件 1. Controllers sudo apt-get install ros-me


    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    1. Controllers

    sudo apt-get install ros-melodic-ros-control ros-melodic-ros-controllers
    

    https://github.com/ros-controls/ros_controllers

    • effort_controllers:给定期望力矩控制关节
      • joint_effort_controller
      • joint_position_controller
      • joint_velocity_controller
    • joint_state_controller:读取关节位置,将注册到hardware_interface :: JointStateInterface的所有资源的状态发布到类型为sensor_msgs / JointState的主题。
      • joint_state_controller
    • position_controllers: 一次设置一个或多个关节位置
      • joint_position_controller
      • joint_group_position_controller
    • velocity_controllers: 一次设置一个或多个关节速度
      • joint_velocity_controller
      • joint_group_velocity_controller
    • joint_trajectory_controllers: 用于为整个轨迹添加附加功能
      • position_controller
      • velocity_controller
      • effort_controller
      • position_velocity_controller
      • position_velocity_acceleration_controller

    不同的controller可以完成对不同模块的控制。例如完成对关节力的控制、速度控制等等。请求下层的硬件资源,并提供PID控制器,读取底层硬件资源的状态,发送控制指令。

    可根据自己的需求,创建需要的controller,并通过Controller Manager来管理自己创建的controller,具体参考:https://github.com/ros-controls/ros_control/wiki/controller_interface

    2. 硬件接口 Hardware Interfaces

    具体API参考http://docs.ros.org/melodic/api/hardware_interface/html/c++/namespacehardware__interface.html

    ROS control 将硬件接口与ros_controller中的一个结合使用,以向硬件发送和接受命令。

    • Joint Command Interface - 支持命令关节阵列的硬件接口。请注意,这些命令可以具有任何语义含义,只要它们每个都可以由单个double表示即可,它们不一定是省力命令。要指定此命令的含义,请参见派生类:

      • Effort Joint Interface - for commanding effort-based joints.
      • Velocity Joint Interface - for commanding velocity-based joints.
      • Position Joint Interface - for commanding position-based joints.
    • Joint State Interfaces - 用于支持读取命名关节数组的状态,每个关节都有一些位置,速度和作用力(力或扭矩)。

    • Actuator State Interfaces - 用于支持读取命名的执行器阵列的状态,每个执行器都有一定的位置,速度和作用力(力或扭矩)。

    • Actuator Command Interfaces

      • Effort Actuator Interface
      • Velocity Actuator Interface
      • Position Actuator Interface
    • Force-torque sensor Interface

    • IMU sensor Interface

    http://docs.ros.org/melodic/api/hardware_interface/html/c++/annotated.html

    创建自己的硬件接口可参考:https://github.com/ros-controls/ros_control/wiki/hardware_interface

    3. 控制器管理器 Controller Manager

    在这里插入图片描述
    用于管理多个控制器,实现控制器的加载、运行、停止等操作。

    命令操作
    • 加载、运行、停止等操作:

      rosrun controller_manager controller_manager <command> <controller_name>
      

      where,<command> 为:

      • load
      • unload
      • start
      • stop
      • spawn: load & start
      • kill: stop & unload

      一次操作多个控制器:

      # 加载控制器,但不运行
      rosrun controller_manager spawner [--stopped] name1 name2 name3
      
      # 加载控制器,并运行
      rosrun controller_manager spawner name1 name2 name3
      
      # 停止控制器,但不卸载
      rosrun controller_manager unspawner name1 name2 name3
      
      
    • 查看某个控制器状态:

      rosrun controller_manager controller_manager <command>
      

      where,<command> 包括:

      • list
      • list-types
      • reload-libraries
      • reload-libraries --restore
    • launch操作:

      <!--加载并启动-->
      <launch>
          <node pkg="controller_manager" 
          type="spawner" 
          args="controller_name1 controller_name2" />
      </launch>
      
      <!--只加载不启动-->
      <launch>
        <node pkg="controller_manager"
          type="spawner"
          args="--stopped controller_name1 controller_name2" />
      </launch>
      
    • 管理器可视化:

      rosrun rqt_controller_manager rqt_controller_manager
      

    4. 传动系统Transmissions

    机器人每个需要运动的关节都需要配置相应的Transmission,可通过代码完成,但多数情况下会在URDF文件中直接添加

    <transmission name="simple_trans">
    	 <!--指定传动类型-->
         <type>transmission_interface/SimpleTransmission</type>
    	 <!--传动系统所连接的关节-->
         <joint name="foo_joint">
         	  <!--指定硬件接口,注意,当在Gazebo中加载此传动系统是,值应为EffortJointInterface-->
         	  <!--而在RobotHW中加载此传动系统时,值应为hardware_interface/EffortJointInterface-->
              <hardwareInterface>EffortJointInterface</hardwareInterface>
         </joint>
         <actuator name="foo_motor">
         	  <!--可选,指定关节制动器之间机械减速比,并非所有传动系统都需要此标签-->
              <mechanicalReduction>50</mechanicalReduction>
              <!--可选,指定硬件接口-->
              <hardwareInterface>EffortJointInterface</hardwareInterface>
         </actuator>
    </transmission>
    

    5. 关节约束Joint Limits

    Joint Limits是硬件抽象层中的一块,维护一个关节限位的数据结构,这些限位数据可以从机器人的URDF文件中加载,也可以ROS的参数服务器上加载(先用YAML配置文件导入ROS parameter server).

    限位数据包括:关节速度、位置、加速度、加加速度、力矩等方面的限位;

    还包含安全作用的位置软限位、速度边界(k_v)和位置边界(k_p)等等。

    • URDF文件:

      <joint name="$foo_joint" type="revolute">
        <!-- other joint description elements -->
      
        <!-- Joint limits -->
        <limit lower="0.0"
               upper="1.0"
               effort="10.0"
               velocity="5.0" />
      
        <!-- Soft limits -->
        <safety_controller k_position="100"
                           k_velocity="10"
                           soft_lower_limit="0.1"
                           soft_upper_limit="0.9" /> 
      </joint>
      
    • YAML文件:

      joints_limits:
          foo_joint:
              has_position_limits: true
              min_position: 0.0
              max_position: 1.0
              has_velocity_limits: true
              max_velocity: 2.0
              has_acceleration_limits: true
              max_acceleration: 5.0
              has_jerk_limits: true
              max_jerk: 100.0
              has_effort_limits: true
              max_effort: 5.0
          bar_joint:
              has_position_limits: false
              has_velocity_limits: true
              max_velocity: 4.0
      
    • URDF和YAML两种描述方式的区别:

    ① 目前只能通过URDF来指定软限位,URDF不支持加速度和加加速度限制,这些可通过YAML提供。
    ② YAML可覆盖URDF中描述的值
    ③ PID增益和控制器设置必须保存在yaml文件中,该文件通过roslaunch文件加载到参数服务器中

    • 加载Joint limits配置代码:

      #include <ros/ros.h>
      
      #include <joint_limits_interface/joint_limits.h>
      #include <joint_limits_interface/joint_limits_urdf.h>
      #include <joint_limits_interface/joint_limits_rosparam.h>
      
      int main(int argc, char** argv)
      {
        // Init node handle and URDF model
        ros::NodeHandle nh;
        boost::shared_ptr<urdf::ModelInterface> urdf;
        // ...initialize contents of urdf
      
        // Data structures
        joint_limits_interface::JointLimits limits;
        joint_limits_interface::SoftJointLimits soft_limits;
      
        // Manual value setting
        limits.has_velocity_limits = true;
        limits.max_velocity = 2.0;
      
        // Populate (soft) joint limits from URDF
        // Limits specified in URDF overwrite existing values in 'limits' and 'soft_limits'
        // Limits not specified in URDF preserve their existing values
        boost::shared_ptr<const urdf::Joint> urdf_joint = urdf->getJoint("foo_joint");
        const bool urdf_limits_ok = getJointLimits(urdf_joint, limits);
        const bool urdf_soft_limits_ok = getSoftJointLimits(urdf_joint, soft_limits);
      
        // Populate (soft) joint limits from the ros parameter server
        // Limits specified in the parameter server overwrite existing values in 'limits' and 'soft_limits'
        // Limits not specified in the parameter server preserve their existing values
        const bool rosparam_limits_ok = getJointLimits("foo_joint", nh, limits);
      }
      
    • 配置joint limits接口

      #include <joint_limits_interface/joint_limits_interface.h>
      
      using namespace hardware_interface;
      using joint_limits_interface::JointLimits;
      using joint_limits_interface::SoftJointLimits;
      using joint_limits_interface::PositionJointSoftLimitsHandle;
      using joint_limits_interface::PositionJointSoftLimitsInterface;
      
      class MyRobot
      {
      public:
        MyRobot() {}
      
        bool init()
        {
          // Populate pos_cmd_interface_ with joint handles...
      
          // Get joint handle of interest
          JointHandle joint_handle = pos_cmd_interface_.getHandle("foo_joint");
      
          JointLimits limits;
          SoftJointLimits soft_limits;
          // Populate with any of the methods presented in the previous example...
      
          // Register handle in joint limits interface
          PositionJointSoftLimitsHandle handle(joint_handle, // We read the state and read/write the command
                                               limits,       // Limits spec
                                               soft_limits)  // Soft limits spec
      
          jnt_limits_interface_.registerHandle(handle);
        }
      
        void read(ros::Time time, ros::Duration period)
        {
          // Read actuator state from hardware...
      
          // Propagate current actuator state to joints...
        }
      
        void write(ros::Time time, ros::Duration period)
        {
          // Enforce joint limits for all registered handles
          // Note: one can also enforce limits on a per-handle basis: handle.enforceLimits(period)
          jnt_limits_interface_.enforceLimits(period);
      
          // Porpagate joint commands to actuators...
      
          // Send actuator command to hardware...
        }
      
      private:
        PositionJointInterface pos_cmd_interface_;
        PositionJointSoftLimitsInterface jnt_limits_interface_;
      };
      

    6. gazebo_ros_control

    添加传动系统

    <transmission name="simple_trans">
    	<type>transmission_interface/SimpleTransmission</type>
    	<joint name="foo_joint">
    		<hardwareInterface>EffortJointInterface</hardwareInterface>
    	</joint>
    	<actuator name="foo_motor">
     		<mechanicalReduction>50</mechanicalReduction>
    		<hardwareInterface>EffortJointInterface</hardwareInterface>
    	</actuator>
    </transmission>
    

    注意:

    • <joint name="">:必须对应URDF中定义的关节名称
    • <type>:传输类型,当前仅实现transmission_interface /SimpleTransmission
    • <hardwareInterface>:在<actuator><joint>标签中的,告诉gazebo_ros_control插件要加载的硬件接口(位置,速度或力矩接口)。当前仅实现了EffortJointInterface这一功能,当前仅支持Effort接口

    添加gazebo_ros_control插件

    <gazebo>
      <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
        <robotNamespace>/MYROBOT</robotNamespace>
      </plugin>
    </gazebo>
    
    

    gazebo_ros_control<plugin>标签还有以下可选元素:

    • <robotNamespace>:用于此插件实例化的ROS命名空间,默认为URDF / SDF中机器人的名称
    • <controlPeriod>:控制器的更新周期(以秒为单位),默认为gazebo的周期
    • <robotParam>:URDF文件在参数服务器上的位置,默认为/ robot_description
    • <robotSimType>:要使用的自定义机器人仿真接口的pluginlib名称,默认为DefaultRobotHWSim

    默认gazebo_ros_control行为

    默认情况下,如果没有<robotSimType> 标签,gazebo_ros_control 将尝试从URDF中获取与基于ros_control的控制器接口所需的所有信息。

    默认行为提供以下ros_control接口:

    • hardware_interface::JointStateInterface
    • hardware_interface::EffortJointInterface
    • hardware_interface::VelocityJointInterface(未全实现)

    自定义gazebo_ros_control插件

    gazebo_ros_control插件还提供了一个基于pluginlib的接口,用于实现Gazeboros_control之间的自定义接口,以模拟更复杂的机制(非线性弹簧,连杆等)。

    这些插件必须继承gazebo_ros_control :: RobotHWSim,该插件实现了模拟的ros_control ``hardware_interface :: RobotHWRobotHWSim提供API级访问,以在Gazebo仿真器中读取和命令关节属性。

    相应的RobotHWSim子类在URDF模型中指定,并在加载机器人模型时加载。例如,以下XML将加载默认插件(与不使用<robotSimType>标签时的行为相同):

    <gazebo>
      <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
        <robotNamespace>/MYROBOT</robotNamespace>
        <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
      </plugin>
    </gazebo>
    

    参考文献:

    展开全文
  • MFC:ListControl用法

    千次阅读 2018-09-02 22:49:26
    MFC:ListControl用法 以下未经说明,ListControl默认view风格为report。 1. 设置CListControl风格 LVS_ICON:为每个Item显示大图标; LVS_SMALLICON:为每个Item显示小图标; LVS_LIST:显示一列带有小图标的...

    MFC:ListControl用法

    以下未经说明,ListControl默认view风格为report

    1. 设置CListControl风格

    1. LVS_ICON:为每个Item显示大图标;
    2. LVS_SMALLICON:为每个Item显示小图标;
    3. LVS_LIST:显示一列带有小图标的Item
    4. LVS_REPORT:显示Item详细资料。

    直观的理解:windows资源管理器,"查看"标签下的"大图标,小图标,列表,详细资料。

    2. 设置ListControl风格及扩展风格

    LONG lStyle;

    lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);// 获取当前窗口style

    lStyle &= ~LVS_TYPEMASK;// 清除显示方式位

    lStyle |= LVS_REPORT;// 设置style

    SetWindowLong(m_list.m_hWnd, GWL_STYLE, lStyle);// 设置style

    DWORD dwStyle = m_list.GetExtendedStyle();

    dwStyle |= LVS_EX_FULLROWSELECT;// 选中某行使整行高亮(只适用与report 风格的ListControl  

    dwStyle |= LVS_EX_GRIDLINES;// 网格线(只适用与report 风格的ListControl  

    dwStyle |= LVS_EX_CHECKBOXES;//Item前生成checkbox 控件 

    m_list.SetExtendedStyle(dwStyle); // 设置扩展风格 

    【注】listviewstyle请查阅msdn

    3. 插入数据

    m_list.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );// 插入列 

    m_list.InsertColumn( 1, "NAME", LVCFMT_LEFT, 50 );

     

    // 新插入的在上面

    int nRow = m_list.InsertItem(0, "11");// 插入行

    m_list.SetItemText(nRow, 1, "jacky");// 设置其它列数据

     

    // 新插入的数据在下面

    int nIndex = m_list.GetItemCount();

    LV_ITEMlvItem;

    lvItem.mask = LVIF_TEXT ; 

    lvItem.iItem= nIndex;  //行数

    lvItem.iSubItem= 0;

    lvItem.pszText = (char*)(LPCTSTR)strCount;//第一列

     

    // 在最后一行插入记录值.

    m_list.InsertItem(&lvItem);

     

    // 插入其它列

    m_list.SetItemText(nIndex,1,strLat); 

    4. 一直选中Item

    选中style中的Show selection always,或者在上面第2点中设置LVS_SHOWSELALWAYS

    5. 选中和取消选中一行

    int nIndex = 0;

    // 选中

    m_list.SetItemState(nIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED); 

    // 取消选中

    m_list.SetItemState(nIndex, 0, LVIS_SELECTED|LVIS_FOCUSED); 

    6. 得到ListControl中所有行的checkbox的状态

    m_list.SetExtendedStyle(LVS_EX_CHECKBOXES);

    CString str;

    for(int i=0; i<m_list.GetItemCount(); i++)

    {

    if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED || m_list.GetCheck(i)) 

    {

    str.Format(_T(" %d 行的checkbox 为选中状态"), i); 

    AfxMessageBox(str); 

    }

    }

    7. 得到ListControl中所有选中行的序号

    方法1

    CString str;

    for(int i=0; i<m_list.GetItemCount(); i++)

    {

     if( m_list.GetItemState(i, LVIS_SELECTED) == LVIS_SELECTED )

     { 

    str.Format(_T(" 选中了第%d "), i);

    AfxMessageBox(str);

     }

    }

    方法2

    POSITION pos = m_list.GetFirstSelectedItemPosition();

    if (pos == NULL)

     TRACE0("No Items were selected!/n");

    else

     while (pos) 

     { 

    int nItem= m_list.GetNextSelectedItem(pos); 

    TRACE1("Item%d was selected!/n", nItem); 

    // you could do your own processing on nItemhere 

     } 

    8. 得到Item的信息

    TCHAR szBuf[1024];

    LVITEMlvi;

    lvi.iItem= nItemIndex;

    lvi.iSubItem= 0;

    lvi.mask = LVIF_TEXT;

    lvi.pszText = szBuf;

    lvi.cchTextMax = 1024;

    m_list.GetItem(&lvi);

    // 关于得到设置Item的状态,还可以参考msdn文章

    9. 得到ListControl的所有列的header字符串内容

    LVCOLUMN lvcol;

    charstr[256]; 

    intnColNum; 

    CStringstrColumnName[4];// 假如有 

    nColNum = 0; 

    lvcol.mask = LVCF_TEXT; 

    lvcol.pszText = str; 

    lvcol.cchTextMax = 256; 

    while(m_list.GetColumn(nColNum, &lvcol)) 

     strColumnName[nColNum] = lvcol.pszText; 

     nColNum++; 

    10. 使ListControl滚动滚动条到最后

    m_list.EnsureVisible(i, FALSE);

    11. 得到ListControl列数

    int nHeadNum = m_list.GetHeaderCtrl()->GetItemCount();

    12. 删除所有列

    方法1

    while ( m_list.DeleteColumn (0))

    因为你删除了第一列后,后面的列会依次向上移动。

    方法2

    int nColumns = 4;

    for (int i=nColumns-1; i>=0; i--)

     m_list.DeleteColumn (i);

    13. 得到单击的ListControl的行列号

    添加ListControl控件的NM_CLICK消息相应函数:

    void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 

     // 方法1

     /* 

     DWORD dwPos = GetMessagePos(); 

     CPoint point( LOWORD(dwPos), HIWORD(dwPos) ); 

     m_list.ScreenToClient(&point); 

     LVHITTESTINFO lvinfo; 

     lvinfo.pt = point; 

     lvinfo.flags = LVHT_ABOVE; 

     int nItem= m_list.SubItemHitTest(&lvinfo); 

     if(nItem!= -1) 

     { 

    CString strtemp; 

    strtemp.Format(" 单击的是第%d 行第%d ", lvinfo.iItem, lvinfo.iSubItem); 

    AfxMessageBox(strtemp); 

     } 

     */ 

      // 方法2

     /* 

     NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; 

     if(pNMListView->iItem!= -1) 

     { 

    CString strtemp; 

    strtemp.Format(" 单击的是第%d 行第%d ", 

      pNMListView->iItem, pNMListView->iSubItem); 

    AfxMessageBox(strtemp); 

     } 

     */ 

     *pResult = 0; 

    14. 判断是否点击在ListControl的checkbox上

    添加ListControl控件的NM_CLICK消息相应函数:

    void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)

    DWORD dwPos = GetMessagePos(); 

     CPoint point( LOWORD(dwPos), HIWORD(dwPos) );

     m_list.ScreenToClient(&point); 

     LVHITTESTINFO lvinfo; 

     lvinfo.pt = point; 

     lvinfo.flags = LVHT_ABOVE; 

     UINT nFlag; 

     int nItem= m_list.HitTest(point, &nFlag); 

     // 判断是否点在checkbox  

     if(nFlag == LVHT_ONITEMSTATEICON) 

     { 

    AfxMessageBox(" 点在ListControl checkbox "); 

     } 

     *pResult = 0; 

    15. 右键点击ListControl的Item弹出菜单

    添加ListControl控件的NM_RCLICK 消息相应函数:

    void CTest6Dlg::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) 

     NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; 

     if(pNMListView->iItem!= -1) 

     { 

    DWORD dwPos = GetMessagePos(); 

    CPoint point( LOWORD(dwPos), HIWORD(dwPos) ); 

    CMenu menu; 

    VERIFY( menu.LoadMenu( IDR_MENU1 ) ); 

    CMenu* popup = menu.GetSubMenu(0); 

    ASSERT( popup != NULL ); 

     popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this ); 

     } 

     *pResult = 0; 

    }

    16. Item

    切换焦点时(包括用键盘和鼠标切换Item时),状态的一些变化顺序。

    添加ListControl控件的LVN_ITEMCHANGED消息相应函数:

    void CTest6Dlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult) 

     NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; 

     // TODOAdd your control notification handler code here 

     CString sTemp; 

     if((pNMListView->uOldState & LVIS_FOCUSED) == LVIS_FOCUSED && (pNMListView->uNewState & LVIS_FOCUSED) == 0) 

     { 

    sTemp.Format("%d losted focus",pNMListView->iItem); 

     } 

     else if((pNMListView->uOldState & LVIS_FOCUSED) == 0 && 

     (pNMListView->uNewState & LVIS_FOCUSED) == LVIS_FOCUSED) 

     { 

    sTemp.Format("%d got focus",pNMListView->iItem); 

     } 

     if((pNMListView->uOldState & LVIS_SELECTED) == LVIS_SELECTED && 

    (pNMListView->uNewState & LVIS_SELECTED) == 0) 

     { 

    sTemp.Format("%d losted selected",pNMListView->iItem); 

     } 

    else if((pNMListView->uOldState & LVIS_SELECTED) == 0 && (pNMListView->uNewState & LVIS_SELECTED) == LVIS_SELECTED) 

     { 

    sTemp.Format("%d got selected",pNMListView->iItem); 

    *pResult = 0; 

    17. 选中listview中的Item

    How To Select a Listview Item Programmatically

    http//support.microsoft.com/kb/131284/en-us 

    18. 如何在CListView中使用CListControl的派生类

    http//www.codeguru.com/cpp/controls/listview/introduction/article.php/c919/ 

    19. ListControl的subItem添加图标

    m_list.SetExtendedStyle(LVS_EX_SUBITEMIMAGES);

    m_list.SetItem(..); // 具体参数请参考msdn

    展开全文
  • control-m安装与使用

    热门讨论 2012-04-01 15:16:04
    介绍control-m安装和基本使用方法,包括执行单个批处理和执行批处理链,终止批处理,强制通过等
  • RibbonControl控件(功能区控件)

    热门讨论 2013-04-10 10:22:01
    LiuZhenHong.Controls.WFNew.RibbonControl LiuZhenHong.Controls.WFNew.RibbonControlEx 为您提供简单地RibbonControl控件(功能区控件)以满足您的WinForm开发需求。 LiuZhenHong.Controls 是对VS自带控件的补充...
  • 改变list control满足一定条件的某一行的背景颜色的习例。
  • BMC Control-M8.0服务器 安装(一)

    千次阅读 2019-05-15 17:23:13
    1.Control-M/Enterprise Manager 是Control-M的一个组件,负责制定、维护、修改调度任务,简称EM; 2.Control-M/CTM Server 是Control-M调度服务器,是调度工具的核心,负责任务的调度,简称CTM-Server; 3.Control-...

    名词解释:
    1.Control-M/Enterprise Manager 是Control-M的一个组件,负责制定、维护、修改调度任务,简称EM;
    2.Control-M/CTM Server 是Control-M调度服务器,是调度工具的核心,负责任务的调度,简称CTM-Server;
    3.Control-M/Agent 是Control-M代理,负责与CTM-Server连接,接受CTM-Server的调度指令,负责实际任务的调度运行,安装在实际调度任务的ETL服务器上,简称Agent;

    说明:此次安装为测试环境安装,故EM、CTM-Server、Agent都安装在同一台机器上。

    一、基础环境说明:

    服务器:CentOS7 64位
    数据库:Oracle 11g
    Control-M:Control-M 8.0

    IP地址:192.168.38.10
    Hostname:Mr-MoJi
    配置:EM、CTM-Server、Agent

    二、基础配置、准备安装文件

    1.基础配置
    配置hosts文件,添加EM、CTM-Server、Agent服务器主机名的hostname与IP的与映射 (由于测试环境CTM-Server、EM、Agent服务器部署在同一台机器上,故hosts中只增加一条):

    [root@Mr-MoJi ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    192.168.38.10 Mr-MoJi Mr-MoJi.localhost #此为添加内容
    

    注:必须按照以下形式修改

    2.准备安装文件
    Control-M版本为8.0包括(Control-M.tar.gz、Agent.tar)两个压缩包,将压缩文件上传至服务器/data/tools/目录下,并进行解压缩。

    [root@Mr-MoJi Control-M_V8.0]# su - moji
    [moji@Mr-MoJi ~]$ cd /data/tools/Control-M_V8.0/
    [moji@Mr-MoJi Control-M_V8.0]$ ls -l
    total 4602776
    -rwxrwxrwx  1 moji moji 2811074560 May 14 13:42 Agent.tar
    -rwxrwxrwx. 1 moji moji 1902165812 May  8 16:19 Control-M.tar.gz
    
    [moji@Mr-MoJi Control-M_V8.0]$ tar -zxf Control-M.tar.gz
    [moji@Mr-MoJi Control-M_V8.0]$ ls -l
    total 4602780
    -rwxrwxrwx  1 moji moji 2811074560 May 14 13:42 Agent.tar
    -rwxrwxrwx. 1 moji moji 1902165812 May  8 16:19 Control-M.tar.gz
    drwxr-xr-x  4 moji moji       4096 Sep  8  2015 LIN
    
    [moji@Mr-MoJi Control-M_V8.0]$ tar -xf Agent.tar 
    [moji@Mr-MoJi Control-M_V8.0]$ ls -l
    total 4602780
    drwxr-xr-x  6 moji moji         84 Sep  9  2015 Agent
    -rwxrwxrwx  1 moji moji 2811074560 May 14 13:42 Agent.tar
    -rwxrwxrwx. 1 moji moji 1902165812 May  8 16:19 Control-M.tar.gz
    drwxr-xr-x  4 moji moji       4096 Sep  8  2015 LIN
    
    [moji@Mr-MoJi Control-M_V8.0]$ chmod -R 777 LIN/
    [moji@Mr-MoJi Control-M_V8.0]$ chmod -R 777 Agent/
    [moji@Mr-MoJi Control-M_V8.0]$ ls -l
    total 4602780
    drwxrwxrwx  6 moji moji         84 Sep  9  2015 Agent
    -rwxrwxrwx  1 moji moji 2811074560 May 14 13:42 Agent.tar
    -rwxrwxrwx. 1 moji moji 1902165812 May  8 16:19 Control-M.tar.gz
    drwxrwxrwx  4 moji moji       4096 Sep  8  2015 LIN
    

    三、安装EM (Enterprise Manager)
    1.服务器配置
    a.以root用户登录EM服务器(192.168.38.10),创建emuser用户:

    [root@Mr-MoJi home]# useradd -d /home/emuser -s /bin/csh -m emuser
    

    设置密码: passwd emuser(default123)

    [root@Mr-MoJi home]# passwd emuser
    Changing password for user emuser.
    New password: 
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    

    b.修改主机名称
    1).若未建立(Mr-MoJi),则修改主机名称,否则跳过此步骤
    vi /etc/sysconfig/network

    [root@Mr-MoJi ~]# cat /etc/sysconfig/network
    # Created by anaconda
    NETWORKING=yes
    HOSTNAME=Mr-MoJi
    

    2).确认启动修改的主机名称:

    [root@Mr-MoJi ~]# hostname
    Mr-MoJi
    

    3).配置安装目录属组及用户权限

      chmod -R 755 /home/emuser
      chown -R emuser:emuser /data/tools/Control-M(安装文件存放目录)
    

    2.安装
    以emuser用户登录服务器(192.168.38.10),切换至安装文件所在目录

    [root@Mr-MoJi ~]# su - emuser
    Last login: Tue May 14 16:03:46 CST 2019 on pts/4
    Mr-MoJi% 
    Mr-MoJi% cd /data/tools/Control-M/LIN/
    Mr-MoJi% pwd
    /data/tools/Control-M/LIN
    Mr-MoJi% ls -l
    total 20
    drwxrwxr-x 2 emuser emuser  4096 Sep  2  2015 pre_req
    drwxrwxr-x 9 emuser emuser  4096 Sep  2  2015 Setup_files
    -rwxrwxr-x 1 emuser emuser 11209 Aug 15  2012 setup.sh
    

    执行./setup.sh
    注意:在使用emuser执行安装时,LIN目录的属组要设置为emuser,否则会报错

    *** current directory [/data/tools/Control-M_V8.0/LIN] is not owned by emuser . ***
    *** Please log in as moji or as root and restart installation. ***

    安装流程如下所示:

    [emuser@Mr-MoJi LIN]$ ./setup.sh
    

    步骤1:同意在非图形模式下安装, 输入y并回车

    Starting graphical user interface...
    
    The $DISPLAY environment variable is not defined.
    
    Install will continue in non graphical mode.
    Are you sure you want to continue?
    == <N> No  <Y> Yes ==
    
    Enter command: 
    y
    

    步骤2:同意安装许可协议
    a.输入s并回车跳过阅读条款
    b.输入y并回车同意许可条款

    === License Agreement ===
    
    
    END USER LICENSE AGREEMENT
    BY OPENING THE PACKAGE, INSTALLING, PRESSING "AGREE" OR "YES" OR USING THE PRODUCT, THE ENTITY OR INDIVIDUAL ENTERING INTO THIS AGREEMENT AGREES TO BE BOUND BY THE FOLLOWING TERMS. IF YOU DO NOT AGREE WITH ANY OF THESE TERMS, DO NOT INSTALL OR USE THE PRODUCT, PROMPTLY RETURN THE PRODUCT TO BMC OR YOUR BMC RESELLER, AND IF YOU ACQUIRED THE LICENSE WITHIN 15 DAYS OF THE DATE OF YOUR ORDER CONTACT BMC OR YOUR BMC RESELLER FOR A REFUND OF LICENSE FEES PAID. IF YOU REJECT THIS AGREEMENT, YOU WILL NOT ACQUIRE ANY LICENSE TO USE THE PRODUCT. 
    This Agreement ("Agreement") is between the entity or individual entering into this Agreement ("Customer") and the BMC Entity for the applicable Territory as described in Section 19 ("BMC"). In addition to the restrictions imposed under this Agreement, any other usage restrictions contained in the Product installation instructions or release notes shall apply to your use of the Product. 
    Territory: The country where Customer acquired the license. 
    1.GENERAL DEFINITIONS. 
    "Affiliate" is an entity that controls, is controlled by or shares common control with BMC or Customer, where such control arises from either (a) a direct or indirect ownership interest of more than 50% or (b) the power to direct or cause the direction of the management and policies, whether through the ownership of voting stock by contract, or otherwise, equal to that provided by a direct or indirect ownership of more than 50%. 
    "Documentation" means the technical publications relating to the software, such as release notes, reference, user, installation, systems administrator and technical guidelines, included with the Product.
    "Licensed Capacity" is the amount of each Product licensed as established in the Order. 
    "Order" is an agreed written or electronic document, subject to the terms of this Agreement that identifies the Products to be licensed and their Licensed Capacity and/or the Support to be purchased and the fees to be paid. 
    "Product" is the object code of the software and all accompanying Documentation delivered to Customer, including all items delivered by BMC to Customer under Support. 
    "Support" is the support services program as further specified in this Agreement.
    
    Press <Enter> to continue or <S> to skip: s
    
    Do you accept and agree to the terms of this Software License Agreement (Y/N)?y
    

    步骤3:输入’3’选项(Advanced Installations),在子选项中输入’2’,然后回车,进行EM的安装

    === Product Settings : Installation Options ===
    
    
    1 : (x) Control-M Workload Automation 8.0.00 - Full Installation
    
                Use custom settings (y/n)? - n
    
                Install trial version with all optional components (y/n)? - n
    
    2 : ( ) Control-M Agent
    
    3 : ( ) Advanced Installations
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 3
    (x) Advanced Installations
    
    1 :     (x) Control-M/Server
    
    2 :     ( ) Control-M/Enterprise Manager
    
    Enter your selection: 2
    
    === Product Settings : Installation Options ===
    
    
    1 : ( ) Control-M Workload Automation 8.0.00 - Full Installation
    
                Use custom settings (y/n)?
    
                Install trial version with all optional components (y/n)?
    
    2 : ( ) Control-M Agent
    
    3 : (x) Advanced Installations
    
                ( ) Control-M/Server
    
                (x) Control-M/Enterprise Manager
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 
    

    步骤4:配置安装类型,这里选择自定义(‘Custom’)安装方式,输入’1’并回车,然后输入’2’并回车,再输入回车下一项

    === Product Settings : Setup Type ===
    
    
    1 : Setup Type
    
        (x) Default: Use the default settings.
    
        ( ) Custom: Optionally, change the default settings.
    
    
    == <C> Cancel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 1
    
    Setup Type
    
        (x) 1 : Default: Use the default settings.
    
        ( ) 2 : Custom: Optionally, change the default settings.
    
    Enter your selection: 2
    
    === Product Settings : Setup Type ===
    
    
    1 : Setup Type
    
        ( ) Default: Use the default settings.
    
        (x) Custom: Optionally, change the default settings.
    
    
    == <C> Cancel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 
    

    步骤5:选择数据库类型,(我们这里提前安装好了Oracle 11g),输入’1’并回车,再输入’2’并回车,再输入回车进入下一项

    === Product Settings : Database Server Type ===
    
    
    1 : Database Server Type
    
        (x) PostgreSQL
    
        ( ) Oracle
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 1
    
    Database Server Type
    
        (x) 1 : PostgreSQL
    
        ( ) 2 : Oracle
    
    Enter your selection: 2
    
    === Product Settings : Database Server Type ===
    
    
    1 : Database Server Type
    
        ( ) PostgreSQL
    
        (x) Oracle
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    

    步骤6:配置数据库连接信息(hostname,port,service name),
    a.输入’1’并回车,然后输入数据库hostname(Mr-MoJi)并回车
    b.输入’2’并回车,然后输入数据库端口port(1521)并回车
    c.输入’3’并回车,然后输入数据库service name(orcl8023)并回车
    以上3项配置完成后,输入回车进行下一项

    === Product Settings : Database Server Connection ===
    
    
    1 : Oracle server hostname: 
    
    2 : Oracle listener port number: 
    
    3 : Oracle database service name: 
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 1
    
    Enter a new value for Oracle server hostname: Mr-MoJi
    
    === Product Settings : Database Server Connection ===
    
    
    1 : Oracle server hostname: Mr-MoJi
    
    2 : Oracle listener port number: 
    
    3 : Oracle database service name: 
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 2
    
    Enter a new value for Oracle listener port number: 1521
    
    === Product Settings : Database Server Connection ===
    
    
    1 : Oracle server hostname: Mr-MoJi
    
    2 : Oracle listener port number: 1521
    
    3 : Oracle database service name: 
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 3
    
    Enter a new value for Oracle database service name: orcl8023
    
    === Product Settings : Database Server Connection ===
    
    
    1 : Oracle server hostname: Mr-MoJi
    
    2 : Oracle listener port number: 1521
    
    3 : Oracle database service name: orcl8023
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 
    

    步骤7:创建Control-M中EM服务的资料库用户(注意:emuser用户不需要在oracle数据库中提前创建)
    由于1、2、4选择已经默认输入完毕,故没有特殊要求可以不需要改动
    a.输入’3’并回车,创建数据库中emuser的密码(default123,密码要输入两遍)并回车
    b.输入’5’并回车,输入Oracle数据库中system用户的密码并回车
    选项’3’、'5’填写完毕后,输入回车,若数据库可以正常联通,则会进行下一步

    === Product Settings : Database Properties ===
    
    
    1 : Create a new database (y/n)? - y
    
    2 : Database owner username: emuser
    
    3 : Database owner password: 
    
    4 : Database administrator login: SYSTEM
    
    5 : Database administrator password: 
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 3
    
    Enter a new value for Database owner password: ********
    
    Confirm the password: ********
    
    === Product Settings : Database Properties ===
    
    
    1 : Create a new database (y/n)? - y
    
    2 : Database owner username: emuser
    
    3 : Database owner password: *****
    
    4 : Database administrator login: SYSTEM
    
    5 : Database administrator password: 
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 5
    
    Enter a new value for Database administrator password: ********
      
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 
    

    步骤8:配置数据库类型,新增emuser用户表空间,由于是测试环境安装,故数据库大小,这里选择的是’Small’
    a.输入’1’并回车,再输入’1’回车,可以看到由于选择的数据库大小为Small,则对应的用户表空间的大小也有了变化。
    b.输入回车进行下一步

    === Product Settings : Database Properties ===
    
    
    1 : Database size
    
        ( ) Small - Less than 2,000 jobs per day, approximately 340 MB disk space
    
        (x) Medium - 2,001-10,000 jobs per day, approximately 1100 MB disk space
    
        ( ) Large - More than 10,000 jobs per day, approximately 3400 MB disk space
    
    2 : Product data tablespace name: emuser_tbs
    
    3 : Product data tablespace full remote path and filename: /data/app/Oracle/oracle/oradata/orcl8023/emuser.dbf
    
    4 : Product data tablespace size: 800
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 1
    
    Database size
    
        ( ) 1 : Small - Less than 2,000 jobs per day, approximately 340 MB disk space
    
        (x) 2 : Medium - 2,001-10,000 jobs per day, approximately 1100 MB disk space
    
        ( ) 3 : Large - More than 10,000 jobs per day, approximately 3400 MB disk space
    
    Enter your selection: 1
    
    === Product Settings : Database Properties ===
    
    
    1 : Database size
    
        (x) Small - Less than 2,000 jobs per day, approximately 340 MB disk space
    
        ( ) Medium - 2,001-10,000 jobs per day, approximately 1100 MB disk space
    
        ( ) Large - More than 10,000 jobs per day, approximately 3400 MB disk space
    
    2 : Product data tablespace name: emuser_tbs
    
    3 : Product data tablespace full remote path and filename: /data/app/Oracle/oracle/oradata/orcl8023/emuser.dbf
    
    4 : Product data tablespace size: 250
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 
    

    步骤9:配置EM的端口,这里已经有默认值,若无特殊需求直接输入回车即可,进行下一步

    === Product Settings : Control-M/Enterprise Manager Configuration ===
    
    
    1 : CORBA naming service port number: 13075
    
    2 : Control-M Web Server port number: 18080
    
    
    == <C> Cancel <P> Previous Panel <N>/<Enter> Next Panel ==
    
    Enter command or item number you wish to change: 
    

    步骤10:确认配置信息,若无需修改直接输入回车即可,进行下一步

    === Summary ===
    
    
      You are about to install Control-M/Enterprise Manager version 8.0.00
    
     Destination Folder: /home/emuser 
    
    Control-M/Enterprise Manager Setup type: Full 
    
    Naming Service Hostname: Mr-MoJi 
    
    Naming Service Port Number: 13075 
    
    Web Server Port Number: 18080 
    
    Database Server Type: Oracle 
    
    Database Server Name: Mr-MoJi 
     
    Database Server Port Number: 1521 
    
    Control-M/Enterprise Manager Database Owner Username: emuser 
    
    Control-M/Enterprise Manager Oracle Database Instance Name: orcl8023 
    
    Data Tablespace Name: emuser_tbs 
    
    Data Tablespace Full Remote Path and File Name: /data/app/Oracle/oracle/oradata/orcl8023/emuser.dbf 
    
    Database Size: Small 
    
    == <C> Cancel <P> Previous Panel <I>/<Enter> Install <G> Generate an automatic installation configuration file ==
    
    Enter command: 
    

    步骤11:开始安装,安装完成后,程序自动退出

    === Installation ===
    
    
    [ Starting to unpack ]
    [ Processing package: Control-M/Enterprise Manager Server files ]
    [ Processing package: Configure Control-M/Enterprise Manager ]
    [ Processing package: Configure Control-M/Enterprise Manager oracle configuration ]
    [ Processing package: Configure database schema ]
    [ Processing package: Creating DB version description file ]
    [ Processing package: Configure Control-M Web Server ]
    [ Processing package: Configure Control-M/Enterprise Manager ]
    [ Processing package: Starting Control-M/Enterprise Manager ]
    [ Processing package: Configurate Control-M/Enterprise Manager ]
    [ Processing package: The installed-versions.txt update. ]
    [ Processing package: Write uninstaller ]
    [ Unpacking finished ]
    
    === Installation Result - Success ===
    
    
    Installation has completed successfully.
    
    Supplementary information:
    
    To start working with Control-M/Enterprise Manager 8.0.00, you must close 
     the current session and open a new one.
    
    

    至此,Control-M的Enterprise Manager组件安装结束。

    后续补充CTM-Server、Agent的安装

    展开全文
  • Sublime Test 3 Package Control

    千次下载 热门讨论 2016-09-27 21:52:18
    Sublime Test 3 Package Control
  • 使用Control Rig中的Aim节点让骨头朝向目标位置(目标位置所在空间为骨骼空间即root空间) 关键参数是扭转的第一轴向(Primary Axis)和第二轴向(Secondary Axis)以及目标类型Kind 2.2 Control Rig绑定 可以先...
  • 测试环境模拟: ... INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so'; Query OK, 0 rows affected (0.40 sec) mysql> INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,294,463
精华内容 517,785
关键字:

control