光通信部分

一光通信简介

1.1光通信原理

IO式光通信是一种特殊的光通信技术,它结合了光学传输和电子器件的功能,旨在实现高速数据传输和处理。这种方式可以实现高速、可靠的信号传输,有效解决传统有线通信方式存在的干扰、传输距离限制等问题。
此次应用:实现机台与对接设备之间无接触式信号传递,确保设备彼此到位,无接触,准确传输彼此的动作步骤。

二光通具体实际应用

2.1光通信收和发

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

2.2光通信收和发误触发

在信号传递过程中我们常用的信号消抖,类似数码管延时,最后形成我们想要的显示效果。这里在实际使用过程中也遇到类似问题,接收到灯灭的残留信号。
1)在程序部分我们做了延时消抖处理;
2)如果接收错误步骤不响应报警

uint8_t Axis_load_Optcom_CCSM(uint8_t mode,uint8_t axis_id,uint8_t station_axis_id,uint8_t *vehicle_status,uint8_t receive_optcom,uint8_t * send_optcom)
{
//清除信号
if(mode == Task_Clear)
{
step = 0;
arrive_flag = 0;
reset_flag = 0;
opt_rec_check = 0;
opt_filter = 0;
Axis_Move_Arrive(Task_Clear,0,0,NULL);
Axis_Move_Reset(Task_Clear);
return 0;
}
//彼此报警信号
if(receive_optcom == 100)
{
 *vehicle_status = Axis_Unnatural;
  if( Sys_UCSErrorGet(EU_StationOpt)==false)
  {
      Sys_UCSErrorSet(EU_StationOpt,ture);
      Log_Error(" axis,CCSM,load,opt Error %d." ,receive_optcom);
  }
}
//未按协议规定下发
if(opt_rec_check)
{
  *vehicle_status = Axis_Unnatural;
  if( Sys_UCSErrorGet(EU_StationOptData)==false)
  {
      Sys_UCSErrorSet(EU_StationOptData,ture);
      Log_Error(" axis,CCSM,load,opt value %d,step ,%d." ,receive_optcom,step);
  }
}

//正常执行逻辑
	switch(step)
	{
	   case 0:
	   if(receive_optcom == 0)
	   {
	     Log_Info( " axis,arrive,ccsm,opt,load,rec,%d,step,%d.", receive_optcom,step);
		   * send_optcom =1;
		   opt_filter = 0;
		   step = 1;
        }
        else if(receive_optcom > 0)
        {
           opt_filter++;
	        if(opt_filter > 100)
	        {
	          opt_rec_check = 1;
	        }
        }
        break;
	
	break;
	
	case 1:
	
	break;
	
	default:break;
	
	
	}
	return 0;


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值