CS机器人二次开发端口总结
1. 简介
漫蛙【màn wā】🐎CS机器人【jī qì rén】🚼为方便【wéi fāng biàn】用户二【yòng hù èr】次开发而开放了一些🦆机器人【jī qì rén】🚼控制器【kòng zhì qì】😷端口【duān kǒu】,包括😥29999、30001、30004、30011、30020、40011等。本质都【běn zhì dōu】是【shì】TCP/IP协议,29999连接上位机【wèi jī】(示教器【shì jiāo qì】🔕界面),30001、30004、30011、30020、40011主要连接A9,原理都是【shì】通过socket通讯发送指定🥏字符串或其它👸指定格式控制🙌机器人【jī qì rén】🚼或接收特定的【tè dìng de】📲格式数据进行解析,目前没有动态链接库【liàn jiē kù】⏲连接对✉应的控制器【kòng zhì qì】😷端口【duān kǒu】,各通讯接口相【jiē kǒu xiàng】🐱互独立🍘,可以同【kě yǐ tóng】时使用📆
2. 操作流程
2.0. 端口简介

2.1. 端口选择
● 29999(Dashboard)端口【duān kǒu】🙈,可用于【kě yòng yú】🐷机器人【jī qì rén】的上下🆎电操作【diàn cāo zuò】、切换机🎸器人的任务或配置、运行,停止,暂停程👃序等操作【zuò】。
● 30001端口😳,可用于获取机〰器人的【qì rén de】😦各种状【gè zhǒng zhuàng】态及数据,机器人🍇会以10HZ的频率【de pín lǜ】向【xiàng】30001端口发【duān kǒu fā】🚒送机器人🍇的状态数据,还可以【hái kě yǐ】🍮往【wǎng】🛩30001端口发【duān kǒu fā】🚒送脚本【sòng jiǎo běn】💟命令,运动指令,控制机器人🍇运动等。
● 30004(RTSI)端口【duān kǒu】🥂,全称为【quán chēng wéi】⚾实时数据交互【jù jiāo hù】🏐,可用于获取机器人的【qì rén de】💥各种状态及数据,以及设置输入订阅(改变一👚下IO变量的🏌值,调整速🥅度滑块等【děng】)与【yǔ】30001端口【duān kǒu】🥂不同的【bú tóng de】是可按指定频率订阅【lǜ dìng yuè】用🕊户指定【hù zhǐ dìng】的数据【de shù jù】🏔返回【fǎn huí】🛺,在返回【fǎn huí】🛺速率方面最快可达250HZ。
● 30020(解释器🎏)端口🅿,可用于👃实现一🍺些动态的脚本【de jiǎo běn】排队运【pái duì yùn】行,比如用【bǐ rú yòng】户在自己的上【jǐ de shàng】位机程序🦆,实时计【shí shí jì】算出一🐼些运行点位🌦,用户在程序运【chéng xù yùn】😲行的过程中【chéng zhōng】,将一些实时计【shí shí jì】算的脚📁本排队【běn pái duì】到当前运行的任务后【rèn wù hòu】。
● 40011(明文状态请求【qiú】)端口,可用于获取机【huò qǔ jī】器人的各种状态及数【tài jí shù】据或者👿设置机【shè zhì jī】器人相应的参数【shù】(运动指🧚令和耗时指令除外【chú wài】🦃),与其他【yǔ qí tā】🍊获取数【huò qǔ shù】🍁据端口📱相比♐,属于一【shǔ yú yī】问一答式数【shù】据回复类型⏯,上位机【shàng wèi jī】发送对🥫应的请【yīng de qǐng】🎅求【qiú】,机器人返回对🎙应的数【shù】据。
● 端口详🥚细使用【xì shǐ yòng】说明可🔄查看对应的端【yīng de duān】口使用手册技术【jì shù】资料🔎_机器人【jī qì rén】技术【jì shù】-漫蛙机⏳器人。
2.2. 端口介绍及作用
2.2.1 29999端口介绍及作用
介绍:
29999端口描🈹述的是【shù de shì】🚼 EliRobot 机器人【jī qì rén】平台开放的【fàng de】🔄 dashboard shell,允许用户或开发者通过 TcpSocket 连接👃 EliRobot 的29999端口并对其进【duì qí jìn】行访问控制,其中让【qí zhōng ràng】包括机【bāo kuò jī】器人的【qì rén de】上下电⏰操作【cāo zuò】😽、切换机【qiē huàn jī】器人的【qì rén de】任务或配置🐸、运行,停止,暂停程🥍序等操🔂作。
作用:
EliRobot dashboard shell 提供了大量的🗒命令【mìng lìng】,以便与 EliRobot 机器人【qì rén】📔平台进【píng tái jìn】行交互【háng jiāo hù】💯,创建🎒 TcpSocket 客户端并连接 dashboard shell 后,发送对【fā sòng duì】应格式的字符至 EliRobot,即可控制机器🙌人做出相应的命令【mìng lìng】 。(端口详细使用【xì shǐ yòng】教程请【jiāo chéng qǐng】查看🆕EliRobot Dashboard 手册或【shǒu cè huò】🥝29999端口使【duān kǒu shǐ】用文档💋技术【jì shù】资🍰料_机器人【qì rén】📔技术【jì shù】-漫蛙机🗣器人【qì rén】)
2.2.2 30001端口介绍及作用
介绍:
30001端口【duān kǒu】描述的是 EliRobot 机器人平台开【píng tái kāi】放的数【fàng de shù】据获取端口【duān kǒu】,控制器【kòng zhì qì】🕙会提供机器人的数据【de shù jù】状态💡,例如关节角🥜、温度等【děng】等【děng】,这些数🙀据都会【jù dōu huì】🔋通过【tōng guò】🍺 socket 打包以10HZ的频率🎾发送至连接的🤶客户端。
除了获【chú le huò】取机器【qǔ jī qì】人的状态信息外【wài】📌,还可以🔁通过【tōng guò】30001端口发送脚本来控制机器人的各种⏳操作🍙。
作用:
EliRobot 提供了【tí gòng le】大量状【dà liàng zhuàng】态获取🌭数据【shù jù】,以便与🏋 EliRobot 机器人【jī qì rén】🔖平台进行监测【háng jiān cè】🖥,创建 TcpSocket 客户端并连接 30001端口后,系统会💯自动返⛏回的对应格式🍤的报文,可查询机器人【jī qì rén】🔖状态报【zhuàng tài bào】文表(30001端口详细使用教程请查看机器人【jī qì rén】🔖状态报【zhuàng tài bào】文示例【wén shì lì】或【huò】30001端口使【duān kǒu shǐ】用文档技术资料⬇_机器人【jī qì rén】🔖技术-漫蛙机【màn wā jī】🚺器人【qì rén】😸)。
2.2.3 30004端口介绍及作用
介绍:
通过📙socket链接【liàn jiē】👘机器人的【de】30004端口【duān kǒu】,可以按【kě yǐ àn】👰指定频【zhǐ dìng pín】率订阅用户指【yòng hù zhǐ】定的数【dìng de shù】据,例如📒,用户程序socket链接【liàn jiē】👘30004端口【duān kǒu】后告诉控制器,需要订【xū yào dìng】阅”payload”变量,以【yǐ】🎵125HZ发送📕,然后控【rán hòu kòng】制器就【zhì qì jiù】📭开始按【kāi shǐ àn】125HZ向用户程序发送📕”payload”的【de】值。这个功能叫做RTSI 全称为🌹实时数👫据交互(Real-Time Synchronization Interface), 该协议提供了🎠标准的【de】TCP/IP链接【liàn jiē】👘, 用于与🍊外部程📘序进行【xù jìn háng】实时的【shí shí de】🔘数据交互。
- 输出【shū chū】:机器人输出整【shū chū zhěng】型寄存【xíng jì cún】🙂器的值、末端负♏载等🗝
- 输入【shū rù】:机器人🍄浮点输【fú diǎn shū】入寄存🖍器、数字输【shù zì shū】🍉入IO的状态设置
作用:
- 输出订阅【yuè】⏬:客户端【kè hù duān】向【xiàng】🔋 RTSI 服务端🚙发送输出订阅【yuè】⏬项并发送开始【sòng kāi shǐ】📧信号后,服务端🚙将按照😙客户端【kè hù duān】所指定的频率【de pín lǜ】周期性发送所订阅【yuè】⏬的数据。
- 输入订😘阅:客户端🎼向【xiàng】 RTSI 服务端🏦发送输出订阅【chū dìng yuè】项并发【xiàng bìng fā】送开始信号后🙏,客户端🎼可以向【kě yǐ xiàng】服务端🏦发送订💸阅的变【yuè de biàn】量的值【liàng de zhí】,服务端🏦将会把【jiāng huì bǎ】📠这些值设置到机器人中。
- 消息【xī】🔔传输🏨:任何时刻【kè】🌥,RTSI 的客户🎤端和服【duān hé fú】🏙务端都【wù duān dōu】💂可以向【kě yǐ xiàng】对方发送普通消息【xī】🔔、警告消【jǐng gào xiāo】息【xī】🔔、异常消息【xī】🔔、错误消息【xī】🔔。
- 客户端【kè hù duān】👑运行环境【jìng】:可以为🔣任意的【rèn yì de】外部链👔接程序。
● 30004端口详【duān kǒu xiáng】细使用教程请查看机器人【qì rén】RTSI使用说【shǐ yòng shuō】🤵明或30004端口使【duān kǒu shǐ】🎊用文档技术资🍖料_机器人【qì rén】技术🏧-漫蛙机🏅器人【qì rén】。
2.2.4 30011端口介绍及作用
介绍:
30011端口描述的是【shù de shì】 EliRobot 机器人🈚平台开放的数【fàng de shù】🦀据获取端口,控制器会提供机器人🈚的数据状态【zhuàng tài】,例如关🍎节角【jiē jiǎo】🌒、温度等等,这些数🦆据都会通过 socket 打包以🔂10HZ的频率【de pín lǜ】发送至连接的【lián jiē de】📌客户端,与30001不同的🛂是不受【shì bú shòu】🛸机器人🈚模式影【mó shì yǐng】响【xiǎng】,无法向端口发送脚本【sòng jiǎo běn】。
作用:
EliRobot 提供了大量状【dà liàng zhuàng】态获取数据【shù jù】🔭,以便与【yǐ biàn yǔ】🔥 EliRobot 机器人🤠平台进行监测,创建【chuàng jiàn】 TcpSocket 客户端并连接 30011端口后,系统会自动返【zì dòng fǎn】🙁回的对【huí de duì】应格式【yīng gé shì】🌲的报文,可查询【kě chá xún】🍧机器人🤠状态报🦍文表,可以在机器人🤠任何模式下获【shì xià huò】🍄取对应🥣的数据【shù jù】🔭。
2.2.4 30020端口介绍及作用
介绍:
系统进入解释器模式📐后【hòu】,允许编【yǔn xǔ biān】💐程人员在任务运行时发送并【fā sòng bìng】👴排队运【pái duì yùn】行脚本语【jiǎo běn yǔ】句🛅,只需要【zhī xū yào】脚本语【jiǎo běn yǔ】句🛅为有效的python语句【yǔ jù】即可,用户可【yòng hù kě】🦓以将脚【yǐ jiāng jiǎo】🐲本语句【běn yǔ jù】🛅通过♍30020端口【duān kǒu】,发送到控制器,控制器解收之🔟后【hòu】,会根据当前的🗾状态,对语句【yǔ jù】🎼进行编【jìn háng biān】译运行🔈。发送到30020端口【duān kǒu】的😀脚本语【jiǎo běn yǔ】句🛅,会以队【huì yǐ duì】列的方【liè de fāng】式存储🥚在控制软件内部,并按顺【bìng àn shùn】🤳序执行。
脚本语句【jù】🛒必须为单行语句【jù】🛒,并以【bìng yǐ】\n作为结【zuò wéi jié】🚾束符,如🔽 set_tcp([0,0,0,0,0,0])\n。
● 30020端口详【duān kǒu xiáng】细使用教程请💟查看机🗃器人【qì rén】解释器模【shì qì mó】💦式使用说明或30020端口使用文档技术资【jì shù zī】💯料_机器人【jī qì rén】技术-漫蛙机⛹器人【qì rén】。
作用:
用于实【yòng yú shí】现一些【xiàn yī xiē】动态的脚本插【běn chā】🔕队运行🎷,比如用户在自【hù zài zì】己的上😭位机程序【xù】🎵,实时计🐢算出一些运行点位【diǎn wèi】🎷,用户在程序【xù】🎵运行的【yùn háng de】过程中,将一些🎴实时计🐢算的脚【suàn de jiǎo】本插【běn chā】🔕队到当【duì dào dāng】前🧠运行的【yùn háng de】任务当中,脚本语🥉句为有效的python语句且【yǔ jù qiě】必须为单行语【dān háng yǔ】句。
2.2.5 40011端口介绍及作用
介绍:
用于实【yòng yú shí】现明文🌦TCPIP状【zhuàng】态请⛷求【qiú】,客户端可以连【kě yǐ lián】⛷接到系【jiē dào xì】统的【tǒng de】🍑40011端口,通过下发固定格式的✡请求【qiú】报文🌦,获取机器人🏘的各种状【zhuàng】🍌态及数据【jù】🤵或者设置机器【zhì jī qì】人🏘相应的参数,属于一【shǔ yú yī】问一答🕥式数据【jù】🤵回复类【huí fù lèi】型👉,上位机🤾发送对应的请求【qiú】,机器人🏘返回对😋应的数🐺据【jù】🤵。该端口【gāi duān kǒu】与SEC命令相同【tóng】,不支持【bú zhī chí】🚃运动指【yùn dòng zhǐ】令、延时指令【shí zhǐ lìng】等耗时指令【shí zhǐ lìng】,仅支持🕧不耗时指令【shí zhǐ lìng】执行。
作用:
目前【mù qián】CS软件目🍄前30001端口无【duān kǒu wú】返回值【huí zhí】👜,用户有【yòng hù yǒu】较多的获取返【huò qǔ fǎn】回值【huí zhí】👜的需求【de xū qiú】🔡(比如请求逆解结果)实现起🎵来不够🙉方便🐉。根据该⛰需求【xū qiú】🔡,系统增加40011端口,用于实现快速的明文🤯数据请求功能【qiú gōng néng】。
40011端口类似于一【sì yú yī】问一答式与机器人交【qì rén jiāo】🏓互🛳。
2.3. 端口比较(获取数据信息)
30001、30004、30011、40011端口对【duān kǒu duì】比🗣(获取数【huò qǔ shù】🚭据信息)
● 30001和30011端口全数据获📻取,频率均🌂为10HZ,区别【qū bié】🦍30001可以响【kě yǐ xiǎng】应外部脚本输⛔入【rù】,30011仅用于【jǐn yòng yú】🛫外部监测机器【cè jī qì】人状态,可在任意机器人模式📁下获取【xià huò qǔ】。
● 30001和30004端口🚻,30001为【wéi】全数⛑据获取,频率😟为【wéi】10HZ,30004可订阅【kě dìng yuè】输出🌾,最高频率😟250HZ,例如客【lì rú kè】户只想获取机器人的【qì rén de】力值【lì zhí】👷,可通过30004端口订⬛阅【yuè】,只接收🏙力值【lì zhí】👷,相对于30001更简便🤘,无需考虑或者【lǜ huò zhě】解析其【jiě xī qí】他数据。
● 40011实现明【shí xiàn míng】文【wén】TCPIP状态请【zhuàng tài qǐng】求⛓,下发固定格式的请求⛓报文【bào wén】,可直接😊获取机器人的各种状态及数【tài jí shù】据,无需复杂的转化解析【huà jiě xī】,30001目前无返回值,相对于🧙用户有🍵较多的【jiào duō de】🥝获取返【huò qǔ fǎn】回值的🍴需求【xū qiú】🌬(比如请求逆解🏫结果),30001实现起🥕来不够【lái bú gòu】方便🦍。
● 获取数【huò qǔ shù】据各个端口选🚆择使用【zé shǐ yòng】,可根据🎣客户现👾场实际应用来选择对应端口【yīng duān kǒu】。
2.4. 端口比较(控制运动)
● 30001端口无🐆法实现【fǎ shí xiàn】一些动【yī xiē dòng】态的脚本排队【běn pái duì】运行【yùn háng】📆,只能保持当前的脚本运行【yùn háng】📆,若第一个【dì yī gè】移【yí】🏌动脚本没🔼有执行🥀完,下一个💆移动【yí dòng】脚😂本已经下发✋,第一个【dì yī gè】移【yí】🏌动会直【dòng huì zhí】接停止【jiē tíng zhǐ】,执行下一个💆移动【yí dòng】。
● 30020端口用【duān kǒu yòng】于在一定的条【dìng de tiáo】件下,实现用😜户脚本的排队😾运行【yùn háng】🦃,比如用【bǐ rú yòng】户在自【hù zài zì】己的上【jǐ de shàng】位机程【wèi jī chéng】🌠序,实时计【shí shí jì】算出一些运行【xiē yùn háng】🎻点位脚本,第一个任务在🌘运行【yùn háng】🦃的过程中【zhōng】🔟,将一些【jiāng yī xiē】🔡实时计【shí shí jì】算的脚😲本排队到当前运行【yùn háng】🦃的任务后。不会打⏬断第一个任务的执行。
3. 常见问题解答
● CS系列支持【chí】Python脚本运【jiǎo běn yùn】😁行,并且脚【bìng qiě jiǎo】本🖱分为sec脚本【jiǎo běn】🖱与def脚本【jiǎo běn】🖱,def脚本【jiǎo běn】🖱为主程序脚本【jiǎo běn】🖱,一次仅【yī cì jǐn】🔹支持【chí】一🌿个def脚本运【jiǎo běn yùn】😁行,如果在🚜第一个【dì yī gè】def脚本运【jiǎo běn yùn】😁行过程【háng guò chéng】🌮中,下发第二个def脚本【jiǎo běn】🖱,则会强【zé huì qiáng】制停止【zhì tíng zhǐ】🚤第一个【dì yī gè】运行中的def脚本【jiǎo běn】🖱,去执行🥟新收到🤹的def脚本【jiǎo běn】🖱,sec脚本【jiǎo běn】🖱可以与def脚本【jiǎo běn】同👍时运行,不会导【bú huì dǎo】致🚒def脚本【jiǎo běn】🖱停止🚤,但【dàn】sec脚本【jiǎo běn】🖱不支持【bú zhī chí】运动指【yùn dòng zhǐ】令,并且不允许运👻行耗时【háng hào shí】指令(如💂sleep、串口🚎、socket的超时🍭操作等),存在一😮定的限制【zhì】。
3.1. 29999端口相关问题
● 29999端口🍞 EliRobot dashboard shell 的控制【de kòng zhì】指令在执行时【zhí háng shí】🛄,需要注【xū yào zhù】👵意机器🍿人的状【rén de zhuàng】态是否⏭是处于远程模式,因为有一些指【yī xiē zhǐ】令需要机器人【jī qì rén】在远程🕙模式下才生效。
● dashboard命令以”\n”为结束【wéi jié shù】输入标【shū rù biāo】🍸志🎚,但某些【dàn mǒu xiē】第三方【dì sān fāng】Socket工具设计使用鼠标点🥚击按键【jī àn jiàn】提交输👀入🍲(不支持物理键【wù lǐ jiàn】盘的Enter提交♓),因此不🎚会自动在输入⛺末尾添🙇加”\n”,导致dashboard认为输【rèn wéi shū】入🍲未完成【wèi wán chéng】而不予响应【xiǎng yīng】,因此此🌷类情况【lèi qíng kuàng】需在输【xū zài shū】入⛺末尾自行添加结束输入标【shū rù biāo】🍸志🎚”\n”。
3.2. 30001端口相关问题
● 远程模【yuǎn chéng mó】式【shì】:此时机【cǐ shí jī】📲器人仅能通过【néng tōng guò】外部控😳制源对机器人🥀进行控🏌制(比如外部连接【bù lián jiē】⚓30001后,发送控制脚本),示教器上【shàng】❌,会锁定,任务栏
● 本地模式:此时机【cǐ shí jī】器人仅💖能通过【néng tōng guò】示教器对其进【duì qí jìn】行控制,外部的😽控制源🔢连接会【lián jiē huì】被强制🌄断开【kāi】(即连接【jí lián jiē】到🛩30001的服务【de fú wù】均会被🍖强制断🌏开【kāi】),防止发生危险。
● 普通模式【mó shì】✍(非远程【fēi yuǎn chéng】⏲与本地模式【mó shì】):如在系🚎统设置中🛌,禁用远🎀程控制模式【mó shì】,则此时系统会【xì tǒng huì】处于普通模式【mó shì】✍,该模式【gāi mó shì】🥁下不会【xià bú huì】对通过30001进行的🤤外部控【wài bù kòng】制源进【zhì yuán jìn】行限制【háng xiàn zhì】,可以理【kě yǐ lǐ】🛹解为是【jiě wéi shì】📉远程模🆔式【shì】+本地模式【mó shì】的状态【tài】,但此时无法执🕙行IO的启动程序的功能♊,并且无【bìng qiě wú】🦐法执行29999 Dashboard中🛌的远程模🆔式【shì】生效的指令。
● tcp通信的连包现【lián bāo xiàn】象【xiàng】📍(包含👧30011端口【duān kǒu】),这个不是【shì】🚃咱们的特性【tè xìng】,所有的【suǒ yǒu de】tcp通信都可能有💙这个现象【xiàng】📍。(接收到🈸的是【shì】🚃不是【shì】🚃完整报文【wén】🥈,那是【shì】根✨据报文【wén】🥈长度判断的【duàn de】,比如报文【wén】🥈长度是【shì】🚃100,本次他【běn cì tā】🌅直接收到🈸了80,那就要【nà jiù yào】等另外😪20上来一起解析【qǐ jiě xī】🍮)。
3.3. 30004端口相关问题
● RTSI 分为协议检查🎉、设置【shè zhì】🎸、同步循⚪环三个【huán sān gè】步骤【bù zhòu】,当 RTSI客户端【kè hù duān】接入时需要首🥖先进行协议版本的校⛪验,以确定【yǐ què dìng】是否可【shì fǒu kě】以继续进行通信🙎
● 数据包都有统【dōu yǒu tǒng】一的结构【gòu】,都为报文头💹+报文内【wén nèi】🐈容的形🚊式🍇(有的数【yǒu de shù】据包不【jù bāo bú】需要报文内【wén nèi】🐈容)
● 不同【tóng】变🦑量类型所占字🕖节数不【jiē shù bú】同【tóng】
● 协议数据采用大端模式
● 订阅输【dìng yuè shū】入输出需要注【xū yào zhù】意🏭(客户搞反🔭)
3.4. 30020端口相关问题
● 目前解释中运行非运👝动类的💔耗时脚本【běn】🎛(如【rú】sleep指令😘),会完整【huì wán zhěng】的等待sleep命令执🦍行结束【háng jié shù】后,才可以【cái kě yǐ】自动退出,中途即【zhōng tú jí】使调用😵了【le】end_interpreter()命令,也不会强制停🕹止耗时脚本运【jiǎo běn yùn】💩行。
● 任务运行状态🔽的控制🍿,比如暂【bǐ rú zàn】停【tíng】、继续【jì xù】、停【tíng】止等,对解释器模式🎊同样生🍾效【xiào】。
● 解释器【jiě shì qì】📥脚本队【jiǎo běn duì】⤵列数量上限目📏前为🚭8500条【tiáo】,脚本队【jiǎo běn duì】⤵列数量超过该【chāo guò gāi】数量时,再次添加新的【jiā xīn de】解释器【jiě shì qì】📥脚本【jiǎo běn】🤶,会返回discard信息,并抛弃新添加的脚本【jiǎo běn】🌲。
● 解释器⬇模式中🤫目前不【mù qián bú】支持start_thread函数调【hán shù diào】🍚用,下发的【xià fā de】🏦脚本中,如果包⬇含了【hán le】start_thread函数调【hán shù diào】🍚用,会触发【huì chù fā】对应的discard。
● V2版本的【bǎn běn de】📥解释器模式,如果运动指令【dòng zhǐ lìng】后有转接半径设置【shè zhì】🕊,并且没【bìng qiě méi】有在规🚆定时间内,下发后【xià fā hòu】续的运动指令【dòng zhǐ lìng】,会出现【huì chū xiàn】🎰咯噔急停的情况🏐,该现象目前认【mù qián rèn】🔧为是正常情况🤱。
● 请关注长时间运行【yùn háng】🌔,大量脚本队列【běn duì liè】🍭运行【yùn háng】🌔,内存是💭否存在🔣异常的【yì cháng de】💗持续增加【jiā】,并且通【bìng qiě tōng】过停止【guò tíng zhǐ】运行【yùn háng】任🕢务等操作无法降低的情况。
● clear_interpreter()函数🐚ack后🔌,会停止💁新的脚本【de jiǎo běn】ack,此时新【cǐ shí xīn】🎌的脚本【de jiǎo běn】会处于等待状【děng dài zhuàng】📦态,只有当【zhī yǒu dāng】clear_interpreter()执行后【zhí háng hòu】🔌,才会将等待状【děng dài zhuàng】📦态的脚本【de jiǎo běn】进行ack。
3.5. 40011端口相关问题
● 下发的id尽量每次不同【cì bú tóng】,这样便🦗于管理,同时在一些同【yī xiē tóng】🍘时请求💆的情况【de qíng kuàng】,可以区分返回🎶值与请🗃求之间的匹配🐵关系【guān xì】,(如果没有同时【yǒu tóng shí】请求💆的情况【de qíng kuàng】,理论上【lǐ lùn shàng】来说id不变也✏没问题,但并非【dàn bìng fēi】🐁一个好【yī gè hǎo】的请求【de qǐng qiú】习惯🆚)。
● 该请求的调用【de diào yòng】函数规【hán shù guī】🐛则与SEC函数相同【tóng】,即不可以【bú kě yǐ】📣执行运【zhí háng yùn】动指【dòng zhǐ】♑令(如movej命令【mìng lìng】)、不可以【bú kě yǐ】📣执行耗👧时指令♒(如sleep等),不可以【bú kě yǐ】📣执行无🥀法退出的命令【de mìng lìng】(如死循环等)。
● 与SEC命令类【mìng lìng lèi】似【sì】,请求命🚩令并不【lìng bìng bú】会打断🎬正在执行的主❗函数🔦(即【jí】def函数🔦)。