示例#1
0
    protected IEnumerator AutoWork()
    {
        int atualSpeed;

        while (workMode == WorkMode.Auto)
        {
            yield return(new WaitForSeconds(1f));

            atualSpeed = scenceControl.targetProperties.speed;

            // отправляем изменённую программу
            if (scenceControl.ProgramVectors != programmVectorPackage && scenceControl.ProgramVectors != null && programmWork == true)
            {
                programmVectorPackage = scenceControl.ProgramVectors;

                Joint6[] jointsArray = new Joint6[programmVectorPackage.Length];
                byte[]   byteArray   = new byte[programmVectorPackage.Length * 12];

                for (int i = 0; programmVectorPackage.Length > i; i++)
                {
                    jointsArray[i] = Kinematic.InverseKinematicStatic(programmVectorPackage[i]);
                    byte[] pieceByte = jointsArray[i].ToByteSteam();
                    pieceByte.CopyTo(byteArray, 12 * i);
                }

                protocol.SendRequest(byteArray, "P");
            }

            // отправляем изменёнyю скорость
            if (speed != atualSpeed)
            {
                speed = atualSpeed;
                protocol.SendRequest(BitConverter.GetBytes((ushort)speed), "S");
            }
        }
    }
示例#2
0
 public void ReadInputField()
 {
     targetProperties.SetSlider(Kinematic.InverseKinematicStatic(targetProperties.GetInputField()));
     targetPoint = targetProperties.GetInputField();
     targetProperties.SetProp3Slider(KinematicField.lim3Ext.B, KinematicField.lim3Ext.A);
 }