① 初学编程,大家帮忙看下这道c语言题怎么做万分感谢
第一题审题关键:题目中的转换规则就是字母在数组中第一次出现的顺序(顺序是从0开始自增)。
(注意数字是自增数(重复字母不自增,不同字母才自增),不是第一次出现的下标,因为题目有条件:使用数字的最大值等于转换规则的数目-1)
因此代码需要实现以下功能:
一、数组输入,需要有验证(验证输入的是否是小写,可嵌套循环判断)。
二、遍历数组,生成规则列表,可用数组char B[10]和int C[10]来记录规则,B数组是字母,C是该字母对应的顺序(顺序用变量自增)。比如数组char A[10]={a,b,a,d,e,f,d,g,j,k};循环每个元素,和数组B中对比,存在就跳过,不存在就将该字母记录到B中,并将顺序变量自增后记录到C数组对应的下标元素。
三、循环AB两个数组,通过对比,把数组A中元素替换成对应C中数字(或用新数组a来保存替换结果,原因见下)。
(注意:A是字符数组,c是整型数组,把数字直接存放到A,打印输出的时候按整型打印,实际就是把数字当成ASCII码保存了,打印数字就打印ASCII码。或者一开始就把A定义成字符串数组,最后把数字用ltoa()转换成字符串再存放到A中,打印用%s格式打印)。
如要接第二题整型a数组,这里可直接把对比结果保存在int a[10]数组中(和原数组A分开)。这样a可直接用于第二题。
第二题审题:根据上题的a内容定义n个数组(n=a中最大值-a中最小值+1),之后按照题目要求填充这几个数组,最后打印即可
② 三菱PLC与旋转编码器的程序例子
旋转编码器是通过光电转换,将输出至轴上的机械、几何位移量转换成脉冲或数字信号的传感器,
主要用于速度或位置(角度)的检测。
典型的旋转编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干
个长方形狭缝。
由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转。
经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号。
通过计算每秒旋转编码器输出脉冲的个数就能反映当前电动机的转速。
一般来说,根据旋转编码器产生脉冲的方式的不同,可以分为增量式、绝对式以及复合式三大类。
自动线上常采用的是增量式旋转编码器。
增量式编码器是直接利用光电转换原理输出三组方波脉冲A、B和Z相;
A、B两组脉冲相位差90,用于辩向:当A相脉冲超前B相时为正转方向,而当B相脉冲超前A相时则
为反转方向。
Z相为每转一个脉冲,用于基准点定位。
1、三菱PLC的高速计数器
高速计数器是PLC的编程软元件,相对于普通计数器,高速计数器用于频率高于机内扫描频率的机外
脉冲计数。
由于计数信号频率高,计数以中断方式进行,计数器的当前值等于设定值时,计数器的输出接点立
即工作。
三菱PLC内置有21点高速计数器C235~C255,每一个高速计数器都规定了其功能和占用的输入点。
⑴
高速计数器的功能分配如下:
C235~C245共11个高速计数器用作一相一计数输入的高速计数,即每一计数器占用1点高速计数输入点。
计数方向可以是增序或者减序计数,取决于对应的特殊辅助继电器M8□□□的状态。
例如C245占用X002作为高速计数输入点,当对应的特殊辅助继电器M8245被置位时,作增序计
数。
C245还占用X003和X007分别作为该计数器的外部复位和置位输入端。
C246~C250共5个高速计数器用作一相二计数输入的高速计数。
即每一计数器占用2点高速计数输入,其中1点为增计数输入,另一点为减计数输入。
例如C250占用X003作为增计数输入,占用X004作为减计数输入。
另外占用X005作为外部复位输入端,占用X007作为外部置位输入端。
同样,计数器的计数方向也可以通过编程对应的特殊辅助继电器M8□□□状态指定。
C251~C255共5个高速计数器用作二相二计数输入的高速计数。
即每一计数器占用2点高速计数输入,其中1点为A相计数输入,另1点为与A相相位差90º的B相计数
输入。
C251~C255的功能和占用的输入点如表5-14所示。
表5-14 高速计数器C251~C255的功能和占用的输入点
C251AB
C252ABR
C253ABR
C254ABRS
C255ABRS
如前所述,分拣单元所使用的是具有A、B两相90º相位差的通用型旋转编码器,且Z相脉冲信号没有
使用。
由表5-14,可选用高速计数器C251。这时编码器的A、B两相脉冲输出应连接到X000和X001点。
⑵
每一个高速计数器都规定了不同的输入点,但所有的高速计数器的输入点都在X000~X007范围内,
并且这些输入点不能重复使用。
例如,使用了C251,因为X000、X001被占用,所以规定为占用这两个输入点的其他高速计数器,
例如C252、C254等都不能使用。
2、高速计数器的编程
如果外部高速计数源(旋转编码器输出)已经连接到PLC的输入端,那末在程序中就可直接使用相对
应的高速计数器进行计数。
例如,在图5-18中,设定C255的设置值为100,当C255的当前值等于100时,
计数器的输出接点立即工作。从而控制相应的输出Y010 ON。
由于中断方式计数,且当前值=预置值时,计数器会及时动作,但实际输出信号却依赖于扫描周
期。
如果希望计数器动作时就立即输出信号,就要采用中断工作方式,使用高速计数器的专用指令。
三菱PLC高速处理指令中有3条是关于高速计数器的,都是32位指令。
它们的具体的使用方法,请参考三菱PLC编程手册。
(2)编程一条断线条编码怎么写扩展阅读:
三菱PLC的两个高速口可以产生脉冲来控制伺服(或步进)电机的转速。
例如:脉冲频率为10000HZ,驱动器每2048个脉冲转一圈,电子齿轮比4/1(可调),
则转速为10000/(2048*4)*4/1 r/s。
可以利用高速计数器的啊C235~255都是高速计数器的。
然后你可以就是测量脉冲的位置然后给C235一个你要到达的位置的地方就可以定位到你想要的高
度。
脉冲相对于当前位置减少的时候就是电机反转了你可以在写一个比较指令与实际位置比较这样就可
以判断出电机的正反转了。
参考资料:网络-旋转编码器
③ 条形码怎么编码的
条形码也称条形码符号,是由一组规则排列的条、空及字符组成的平行线条图形,用以表示一定信息的代码。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)组成的。
1.静区
静区是指条形码左右两端外侧与空的反射率相同的限定区域,是没有任何符号的白色区域,仅用来提示条形码阅读器开始扫描。
2.起始符
起始符是指条形码符号的第一位字符,标志一个条形码符号的开始,阅读器确认此字符存在后开始处理扫描脉冲。
3.数据符
数据符是指位于起始符后的字符,用来记录一个条形码的数据值,其结构异于起始符,允许双向扫描。
4.终止符
终止符是指条形码符号的最后一个字符,标志着一个条形码的结束,阅读器在确认该字符后停止工作。