1상수조합기+1비교조합기로 하는 방법
상수 조합기는 두개의 신호 A,T를 각각 4, -7로 설정함. 이러면 출력펄스를 4/7의 빈도로 내보낸다
밑에 꺼져있는 검정색 신호는 그냥 파라미터 블프 만들기용 더미 신호
첫번째 조건문: 각각(R) = A(R)
당연하지만 A신호는 항상 저 공식을 만족할 수 밖에 없음. 따라서 A의 값은 항상 출력으로 나가게 됨
T신호에 대해서는 항상 저 식을 만족할 수 없음
두번째 조건문: A(G) > 0
녹색선으로 들어오는 A가 0보다 크다면 입력되는 모든 종류 신호가 조건을 만족하는 것과 다름 없음(첫번째 조건문에 각각을 사용하였기 때문에)
따라서 A>0 상황에서는 A도 조건을 만족하고, T도 조건을 만족함
다시 쓰자면
A>0상황에서 -> A, T 모두 조건 만족
A<=0 상황에서 -> A만 조건 만족
출력신호는 A(RG)를 쓰고 있음
A<=0 상황에서는 A만 조건을 만족했다고 했지? 그래서 기존의 출력이 있는 루프 녹색선값과 빨간선으로 들어오는 4값이 더해진 값이 다음 출력이 됨(A=A+4)
A>0 상황에서는 T또한 조건을 만족함 그래서 이때는 T값인 -7까지 같이 합산됨 (A=A+4-7 = A-3)
A가 0초과일 때는 3을빼고, 0이하일때는 4를 더하는 회로가 1개의 상수조합기와 1개의 비교조합기로 구현이 되었음
출력은 0, 4, 1, -2, 2, -1, 3 을 반복하게 됨
펄스를 필요로 하는 부분에서는 A>0을 조건으로 걸게 된다면 정확히 4/7의 비율로 동작하게 될거임. 고르게 분산되어서 말이지
https://factoriobin.com/post/jhxxkt
| 0eNqdVdtqE0EYfpUwVxUmNUdrFizkHXIXS5jdnbRDN7Pr7GxqCQtF96JUtApWq6TSYkEFLyqU2kKfqDt5B//ZzaFZQmJ698/h/77vP830kOkE1BOMS2T0kE19SzBPMpcjA6noXJ0eDY76ufrjhjo5zsU3ker/jM/6ufjwi/r24TkfvIvUwXlOvfqtvv4aHB3HBx9z8dVefBWpz+9V1Nfr+npBnUQ5dXZx9+dS9W+1f+qAMGKWy31kNHvIZ5ucOFoFJx0K9Da1mE1F3nI7JuNEugKF4MBt+hIZxRDPcNFgknA526cUbmBEuWSS0ZQzWey2eNAxqQBQPA8II8/1WZqbHtIanhRWqxjtglVbrQKPzQS10gsVrDGkcJ2WSbdIlwEAePnpuT9tg5JRWBi1mSOpyO7KXU/r6jIhAwh5LDRNQb4OOy/gAKKBTe6KTnIJ1HtEJOoN9CzZCHSlKzp7o6wsBG8sB55fCzem8R8UkukQa3s55jVdYAJZ7QJOmzg+BSWh1pIpdGlCBohO3iEdb1Z9y9P1nVVRiwkrYLJFOTEdaiNDioDi8Ta42GPMNhO+bE26dmFRU86kE5FRyAS+jmbGVsZzBmhGjKXlOngIOgks6eX7q+bSgVJibelYYSIAZ+kEZZrhPnmLU7njiu1EpJiUZ1NQykc9kiH+Lx+d+IeVc6qCi9QmZGNqrSPUPe4G0gtk9t1czJ+MA/jvQJm1d7OIi7iMixu4WcIlsCpglYcW3NNSO3Q8u0OCYafhkWGgyoQs/Rnim/34MFqpP4KDLhFMzwYc6hTMgVmbwKjvt3fXFyuNDEBjPkBeI7ThmQgcopf65bKpR+HN0ROU5A/CYpJ24Hjy9WHkEJM6mvdN/+7vdfxjP357PXi9l0s/OHXaV58utRRIRTId1SelWqVWqz4tlmu1QiUM/wHZn558 |
매개변수화가 되어있기 때문에 딸깍으로 설치 가능
또 하나의 장점이 있는데 비교조합기의 회로조건자체에 0 이외의 상수를 사용하지 않았기 때문에
A,T값을 꼭 상수조합기로 밀어넣어줄 필요 없이 외부에서 가변적으로 밀어넣어 주는 것도 쉬움
데모
위에 있는 닉시튜브는 가동률를 %로 띄워두는중(최근 32틱의 평균을 내고 있음)
A,T의 값을 바꿔주면 그에 맞춰 펄스 길이가 잘 제어되는 모습
A값이 0보다 작아지거나 T보다 커지면 고장나긴하는데 안 넣으면 되니깐 뭐
2조합기보다 더 줄이는게 될까 싶어서 해본건데 생각보다는 단순한 형태로 정리되어서 기분이 좋다
각각 신호를 처음 써보는 방식으로 트릭키하게 사용해봤는데 각각 신호가 진짜 회로의 꽃이긴 한듯
오.. 깔끔하게 정리됐네.. 근데 이게참 계륵이란말이지.. 죽었다깨어나도 조합기 하나로 줄이는건 불가능해보이는데 이미 조합기한개짜리 펄스제어가 게임시스템에서는 충분히 강력.. 기껏 쓸만한건 우주선속도 정밀제어 정도인데 사실 그쪽은 안전속도만 유지하면되니 정밀할 필요가 없고... 나도 활용해보고싶어서 마땅한 사용처를 생각해봤는데 도저히 안나온다
굳이 굳이 활용처를 찾아보려면
https://gall.dcinside.com/mgallery/board/view?id=factorio&no=18618
밸런서의
출력이 막힌다거나 입력이 한쪽이 비었다거나 하는 상황이 발생한다면 의도한대로의 정확한 밸런싱이 안된다는 문제점이 있는데
입력부족,출력막힘을 감지해서 벨트의 동작을 A/T의 비율로 가변적으로 제어하는게 가능할 것 같기도 하고
첫 연산(0틱)에 두번째 조건이 들어오는 녹색 신호는 상수조합 신호기가 없음에도 빨강 신호가 이미 A=4 라서 만족 되는건가? 근데 첫 조건에서 쓰길, T가 항상 첫 조건에 위배되어 참이 아닌데 두번째 조건 때문에 T까지 넘어와서 계산이 된다는게 어렵당
0틱때는 녹색선에는 신호가 없을거고 빨간선에만 A=4 T=-7 이때는 첫조건에서 A만 통과 T는 불통과, 두번째조건 0>0은 거짓이니 모두 불통과 첫조건과 두번째 조건을 OR로 묶었으니까 (A) or () = (A) 최종적으로 A만 통과, 녹색선으로 A=4가 나가게 됨 그다음틱에서는 빨간선에 A=4,T=-7, 녹색선에 A=4 첫조건은 여전히 A만통과할거고 두번째조건은 4>0가 참을 만족하기때문에 모두 통과(A,T) 최종적으로 (A)or(A,T)=(A,T) A와 T모두 통과하니 4-7+4=1, 다음틱에는 A=1이 출력으로 나간다
@이파 덕분에 이해하구 간다 고마워
이 아조씨 무서워...
캬